Bird
Raised Fist0
Pythonprogramming~10 mins

Global scope in Python - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print the global variable count inside the function.

Python
count = 10

def show_count():
    print([1])

show_count()
Drag options to blanks, or click blank then click option'
Aglobal
Blocal_count
C10
Dcount
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Trying to use a variable name that is not defined.
Using the keyword 'global' instead of the variable name.
2fill in blank
medium

Complete the code to modify the global variable score inside the function.

Python
score = 5

def increase_score():
    global [1]
    score += 1

increase_score()
print(score)
Drag options to blanks, or click blank then click option'
Avalue
Bscore
Cpoints
Dcount
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Forgetting to declare the variable as global before modifying it.
Using a different variable name in the global statement.
3fill in blank
hard

Fix the error by completing the code to correctly print the global variable name inside the function.

Python
name = "Alice"

def greet():
    print([1])

greet()
Drag options to blanks, or click blank then click option'
Aname
BName
C"name"
Dglobal name
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using a capitalized variable name Name which is undefined.
Trying to print the string "name" instead of the variable.
4fill in blank
hard

Fill both blanks to create a dictionary with word lengths only for words longer than 3 letters.

Python
words = ["apple", "cat", "banana", "dog"]
lengths = {word: [1] for word in words if len(word) [2] 3}
print(lengths)
Drag options to blanks, or click blank then click option'
Alen(word)
B>
C<
Dword
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using the word itself instead of its length.
Using less than symbol which filters shorter words.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase keys and values only for positive values.

Python
data = {"a": 1, "b": -2, "c": 3}
result = { [1]: [2] for k, v in data.items() if v [3] 0 }
print(result)
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
C>
Dk
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using the original key without uppercase.
Filtering values less than or equal to zero.

Practice

(1/5)
1. What does the global keyword do inside a Python function?
easy
A. It deletes a global variable.
B. It creates a new local variable inside the function.
C. It makes the function run faster.
D. It allows the function to modify a variable defined outside the function.

Solution

  1. Step 1: Understand the role of global keyword

    The global keyword tells Python that the variable inside the function refers to the variable defined outside (in global scope).
  2. Step 2: Effect on variable modification

    Without global, assigning a value creates a new local variable. With global, it modifies the existing global variable.
  3. Final Answer:

    It allows the function to modify a variable defined outside the function. -> Option D
  4. Quick Check:

    global keyword modifies outer variable [OK]
Hint: global lets functions change outside variables [OK]
Common Mistakes:
  • Thinking global creates a new local variable
  • Assuming global deletes variables
  • Believing global affects performance
2. Which of the following is the correct way to declare a global variable inside a function?
easy
A. def global x:
B. global = x
C. global x
D. x global

Solution

  1. Step 1: Recall correct syntax for global declaration

    The correct syntax is to write the keyword global followed by the variable name, separated by a space.
  2. Step 2: Check each option

    global x matches the correct syntax. Others are invalid Python syntax.
  3. Final Answer:

    global x -> Option C
  4. Quick Check:

    global keyword followed by variable name [OK]
Hint: Use 'global' then variable name to declare global inside function [OK]
Common Mistakes:
  • Using '=' with global keyword
  • Trying to define global like a function
  • Placing global after variable name
3. What will be the output of this code?
count = 5
def increment():
    global count
    count += 1
increment()
print(count)
medium
A. 6
B. None
C. Error
D. 5

Solution

  1. Step 1: Understand the global variable usage

    The variable count is defined globally with value 5. Inside increment(), global count allows modifying this global variable.
  2. Step 2: Trace the function call and print

    The function adds 1 to count, changing it from 5 to 6. Then print(count) outputs 6.
  3. Final Answer:

    6 -> Option A
  4. Quick Check:

    global lets function change count to 6 [OK]
Hint: global lets function update outside variable [OK]
Common Mistakes:
  • Expecting original value 5 to print
  • Thinking global causes error here
  • Assuming function returns None
4. Find the error in this code:
total = 10
def add():
    total += 5
add()
print(total)
medium
A. Missing global declaration inside add()
B. Syntax error in function definition
C. total is not defined globally
D. print statement is incorrect

Solution

  1. Step 1: Identify variable scope issue

    Inside add(), total += 5 tries to modify total. Without global total, Python treats total as local but it's used before assignment, causing an error.
  2. Step 2: Fix by adding global declaration

    Adding global total inside add() tells Python to use the global total variable, fixing the error.
  3. Final Answer:

    Missing global declaration inside add() -> Option A
  4. Quick Check:

    Modify global variable needs global keyword [OK]
Hint: Add global keyword to modify global variable inside function [OK]
Common Mistakes:
  • Ignoring need for global keyword
  • Thinking total is local automatically
  • Assuming no error occurs
5. You want to count how many times a function is called using a global variable. Which code correctly updates the global counter?
hard
A. calls = 0 def func(): calls += 1 func() print(calls)
B. calls = 0 def func(): global calls calls += 1 func() print(calls)
C. calls = 0 def func(): calls = calls + 1 func() print(calls)
D. calls = 0 def func(): global calls calls = calls func() print(calls)

Solution

  1. Step 1: Understand global variable modification

    To update a global variable inside a function, you must declare it with global inside the function.
  2. Step 2: Analyze each option

    calls = 0 def func(): calls += 1 func() print(calls) tries to increment without global, causing error. calls = 0 def func(): global calls calls += 1 func() print(calls) correctly uses global calls and increments. calls = 0 def func(): calls = calls + 1 func() print(calls) tries to read and assign without global, causing UnboundLocalError. calls = 0 def func(): global calls calls = calls func() print(calls) declares global but does not increment.
  3. Final Answer:

    calls = 0 def func(): global calls calls += 1 func() print(calls) -> Option B
  4. Quick Check:

    global keyword needed to update global variable [OK]
Hint: Use global keyword to update global counter inside function [OK]
Common Mistakes:
  • Forgetting global keyword causes UnboundLocalError
  • Assigning without global causes UnboundLocalError when reading variable
  • Declaring global but not updating variable