Bird
Raised Fist0
Pythonprogramming~10 mins

Global keyword 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 modify the global variable inside the function.

Python
count = 0

def increment():
    global [1]
    count += 1

increment()
print(count)
Drag options to blanks, or click blank then click option'
Aglobal
Bcount
Cincrement
Dvalue
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Forgetting to use the global keyword causes an error or no change to the global variable.
Using a wrong variable name after global.
2fill in blank
medium

Complete the code to correctly update the global variable inside the function.

Python
total = 10

def add_five():
    global [1]
    total += 5

add_five()
print(total)
Drag options to blanks, or click blank then click option'
Asum
Badd_five
Cfive
Dtotal
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using a different variable name after global than the one declared globally.
Not using global keyword and expecting the global variable to change.
3fill in blank
hard

Fix the error by completing the code to modify the global variable inside the function.

Python
counter = 5

def reset():
    [1] counter
    counter = 0

reset()
print(counter)
Drag options to blanks, or click blank then click option'
Aglobal
Blocal
Cnonlocal
Ddef
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using nonlocal instead of global when the variable is global.
Not using any keyword and trying to assign to the global variable.
4fill in blank
hard

Fill in the blank to correctly modify two global variables inside the function.

Python
x = 1
y = 2

def update():
    [1] x, y
    x += 10
    y += 20

update()
print(x, y)
Drag options to blanks, or click blank then click option'
Anonlocal
Blocal
Cglobal
Ddef
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using nonlocal instead of global.
Declaring only one variable as global and not the other.
5fill in blank
hard

Fill in the blank to correctly use the global keyword and modify variables inside the function.

Python
a = 5
b = 10
c = 15

def change_values():
    [1] a, b, c
    a += 1
    b += 2
    c += 3

change_values()
print(a, b, c)
Drag options to blanks, or click blank then click option'
Aglobal
Ba
Cb
Dc
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Not declaring all variables as global.
Using variable names without the global keyword.

Practice

(1/5)
1.

What does the global keyword do in Python?

easy
A. It creates a new local variable inside a function.
B. It allows a function to modify a variable defined outside it.
C. It deletes a variable from the global scope.
D. It imports a module globally.

Solution

  1. Step 1: Understand variable scopes

    Variables defined outside functions are global, inside functions are local by default.
  2. Step 2: Role of global keyword

    The global keyword tells Python to use the global variable inside the function, allowing modification.
  3. Final Answer:

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

    global lets function change outside variable [OK]
Hint: Global lets functions change outside variables directly [OK]
Common Mistakes:
  • Thinking global creates new local variables
  • Confusing global with import statements
  • Assuming global deletes variables
2.

Which of the following is the correct way to modify a global variable count inside a function?

count = 0
def increment():
    ?
    count += 1
easy
A. def count
B. local count
C. global count
D. nonlocal count

Solution

  1. Step 1: Identify the need to modify global variable

    The function wants to increase the global variable count.
  2. Step 2: Use correct keyword to access global variable

    Using global count inside the function tells Python to use the global count, not create a local one.
  3. Final Answer:

    global count -> Option C
  4. Quick Check:

    Use 'global' to modify global variables inside functions [OK]
Hint: Use 'global' before variable to modify it inside function [OK]
Common Mistakes:
  • Using 'local' which is not a Python keyword
  • Using 'nonlocal' which applies to enclosing functions, not globals
  • Trying to define variable with 'def'
3.

What is the output of this code?

value = 5
def change():
    global value
    value = 10
change()
print(value)
medium
A. 5
B. Error
C. None
D. 10

Solution

  1. Step 1: Analyze the function change()

    The function declares value as global and sets it to 10.
  2. Step 2: Effect of calling change()

    Calling change() updates the global value from 5 to 10.
  3. Final Answer:

    10 -> Option D
  4. Quick Check:

    global lets function update outside variable [OK]
Hint: global changes outside variable, so print shows updated value [OK]
Common Mistakes:
  • Thinking print shows original value 5
  • Expecting an error without global keyword
  • Confusing local and global scopes
4.

Find the error in this code and choose the fix:

counter = 0
def add():
    counter += 1
add()
print(counter)
medium
A. Add global counter inside add() before incrementing.
B. Change counter to a local variable inside add().
C. Remove the increment line counter += 1.
D. Define counter inside add() without global.

Solution

  1. Step 1: Identify the error cause

    Trying to increment counter inside add() without declaring it global causes UnboundLocalError.
  2. Step 2: Fix by declaring global variable

    Adding global counter inside add() tells Python to use the global counter variable.
  3. Final Answer:

    Add global counter inside add() before incrementing. -> Option A
  4. Quick Check:

    Declare global to modify outside variable inside function [OK]
Hint: Declare global before modifying global variable inside function [OK]
Common Mistakes:
  • Ignoring the need for global declaration
  • Trying to create local variable with same name
  • Removing increment instead of fixing scope
5.

You want to count how many times a function is called using a global variable calls. Which code correctly updates calls each time track() runs?

calls = 0
def track():
    ?
    calls += 1

track()
track()
print(calls)
hard
A. global calls
B. nonlocal calls
C. local calls
D. calls = 0

Solution

  1. Step 1: Understand the goal

    We want to update the global variable calls inside the function track().
  2. Step 2: Use the correct keyword

    Using global calls inside track() allows incrementing the global calls variable.
  3. Step 3: Confirm output

    Calling track() twice increments calls from 0 to 2, so print(calls) outputs 2.
  4. Final Answer:

    global calls -> Option A
  5. Quick Check:

    Use global to update global counter inside function [OK]
Hint: Use 'global' to update global counter inside function [OK]
Common Mistakes:
  • Using 'nonlocal' which is for nested functions
  • Trying to assign local variable without global
  • Resetting calls inside function