# ===== 전역 변수와 지역 변수 =====

# 전역 변수(Global Variable)
# 함수 밖에서 만든 변수
# 함수 안에서도 볼 수 있고, 함수 밖에서도 볼 수 있다.

# 지역 변수(Local Variable)
# 함수 안에서 만든 변수
# 함수 안에서만 사용할 수 있다.


print("\n----- 예시 1 : 지역 변수는 함수 밖에서 사용할 수 없다 -----")

def my_func():
    x = 10   # 지역 변수
    print("함수 안 x:", x)

my_func()

# print(x)   # 오류! 함수 밖에서는 x를 사용할 수 없다.


print("\n----- 예시 2 : 이름이 같아도 서로 다른 변수 -----")

x = 100   # 전역 변수

def test():
    x = 10   # 지역 변수
    print("함수 안 x:", x)

test()
print("함수 밖 x:", x)

# 함수 안 x는 10
# 함수 밖 x는 100
# 이름은 같지만 서로 다른 변수이다.


print("\n----- 예시 3 : 지역 변수는 밖의 값을 바꾸지 못한다 -----")

num = 5   # 전역 변수

def change():
    num = 20   # 지역 변수
    print("함수 안 num:", num)

change()
print("함수 밖 num:", num)

# 함수 안에서는 20이 출력되지만
# 함수 밖 num은 여전히 5이다.


print("\n----- 예시 4 : 전역 변수는 함수 안에서도 사용할 수 있다 -----")

count = 0   # 전역 변수

def show():
    print("함수 안 count:", count)

show()
print("함수 밖 count:", count)


print("\n----- 예시 5 : global을 사용하면 전역 변수 값을 바꿀 수 있다 -----")

score = 10   # 전역 변수

def increase():
    global score
    score = score + 5
    print("함수 안 score:", score)

increase()
print("함수 밖 score:", score)

# global score를 사용했기 때문에
# 함수 안에서 score 값을 바꾸면 함수 밖 score 값도 바뀐다.


print("\n----- 예시 6 : global이 없으면 전역 변수 값이 바뀌지 않는다 -----")

money = 1000   # 전역 변수

def spend():
    money = 500   # 지역 변수
    print("함수 안 money:", money)

spend()
print("함수 밖 money:", money)

# 함수 안 money는 500
# 함수 밖 money는 1000
# 함수 안에서 새 지역 변수를 만든 것이기 때문에
# 원래 전역 변수 money는 바뀌지 않는다.


print("\n----- 예시 7 : 지역 변수와 전역 변수 비교 -----")

a = 10   # 전역 변수

def func1():
    a = 20   # 지역 변수
    print("func1 안 a:", a)

def func2():
    global a
    a = 30   # 전역 변수 a를 바꿈
    print("func2 안 a:", a)

func1()
print("func1 실행 후 a:", a)

func2()
print("func2 실행 후 a:", a)


print("\n----- 문제 1 -----")
# 아래 코드의 출력 결과를 써보세요.

num = 100

def test1():
    num = 50
    print(num)

# test1()
# print(num)
print("50!")




print("\n----- 문제 2 -----")
# 아래 코드의 출력 결과를 써보세요.

point = 10

def plus():
    global point
    point = point + 5
    print(point)

# plus()
# print(point)
print("15!")




print("\n----- 문제 3 -----")
# 아래 코드의 출력 결과를 써보세요.

coin = 3

def game():
    coin = 10
    print(coin)

# game()
# print(coin)
print("10!")



print("\n----- 문제 4 -----")
# 아래 코드의 출력 결과를 써보세요.

score = 50

def game():
    score = 100
    print(score)

# game()
# print(score)
print("100!")


print("\n----- 문제 5 -----")
# 아래 코드의 출력 결과를 써보세요.

level = 1

def up():
    global level
    level = level + 1
    print(level)

# up()
# print(level)
print("2!")




print("\n----- 문제 6 -----")
# 아래 코드의 출력 결과를 써보세요.

name = '유나'

def hello():
    name = '지수'
    print(name)

# hello()
# print(name)
hello()
print("지수!")



print("\n----- 문제 7 -----")
# 아래 코드의 출력 결과를 써보세요.

coin = 10

def shop():
    global coin
    coin = coin - 3
    print(coin)

# shop()
# print(coin)
print("7!")


print("\n----- 문제 8 -----")
# 아래 코드의 출력 결과를 써보세요.

time = 30

def study():
    time = 60
    print(time)

# study()
# print(time)
print("60!")



print("\n----- 문제 9 -----")
# 아래 코드의 출력 결과를 써보세요.

hp = 100

def attack():
    global hp
    hp = hp - 20
    print(hp)

# attack()
# attack()
# print(hp)
print("60!")


Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: