관리 메뉴

HeeJ's

[01] local variable '변수' referenced before assignment :: Python 본문

<Programming>/<Python>

[01] local variable '변수' referenced before assignment :: Python

meow00 2020. 6. 11. 17:10

이러한 오류가 떴을 때 해결하는 방법은 쉽다.

 

저 '변수'가 함수 안에서 쓰일 수 있도록 지정해주면 된다.

 

예를 들면,

 

...

def drinking():
    button = int(input("메뉴 선택 (종료:0): "))
    while(button != 0):
        if(money < price[button-1]):
            print("잔액 부족")
            print("잔액: %d"%money)
        else:
            print("%s 구입완료"%menu[button-1])
            money = money - price[button-1]
            print("잔액: %d"%money)
            print()
        button=int(input("메뉴 선택 (종료:0) : "))
        
...
        
        menu=['콜라','사이다','환타','커피','생수']
price = [500, 500, 600, 600, 400]
menu_price()
money=0
money = int(input("돈을 투입하세요 : "))
print()
drinking()

이렇게 코드를 짰었는데,

 

if (money<price[button-1]): 부분에서 에러가 난다.

 

money가 drinking()함수 안에서 쓰일 수 있도록

 global money

를 넣어주면 해결!

 

...
def drinking():
    button = int(input("메뉴 선택 (종료:0): "))
    while(button != 0):
        global money
        if(money < price[button-1]):
            print("잔액 부족")
            print("잔액: %d"%money)
        else:
            print("%s 구입완료"%menu[button-1])
            money = money - price[button-1]
            print("잔액: %d"%money)
            print()
        button=int(input("메뉴 선택 (종료:0) : "))
...

menu=['콜라','사이다','환타','커피','생수']
price = [500, 500, 600, 600, 400]
menu_price()
money=0
money = int(input("돈을 투입하세요 : "))
print()
drinking()

 

'<Programming> > <Python>' 카테고리의 다른 글

[02] __init()__ :: Python  (0) 2020.11.19