def show_menu():
print()
print("[자판기 판매 메뉴]")
for i in range(0, len(drink_menu)):
if i%10==0:
print()
print("|",i+1,".",drink_menu[i],":",drink_price[i],"|",end=" ")
def buy(num):
if money < drink_price[num]:
print("잔액이 부족합니다. 잔액 : %d" % money)
return money
else:
print(drink_menu[num], " 구입완료")
balance = money - drink_price[num]
left_drink[num] = left_drink[num]-1
print("잔액 : ", balance)
return balance,left_drink
def drink(num):
if left_drink[num]<1:
print("음료가 모두 소진되었습니다.")
else:
pass
if __name__ == '__main__':
drink_menu = ("생수","생수","생수","레몬워터","레몬워터","옥수수 수염차","옥수수 수염차", "우엉차","트레비","트레비",
"밀키스","펩시","핫식스","사이다","코코리치(망고)","코코리치(망고)","Lipton","트로피카나 스파클링(청사과)",
"트로피카나 스파클링(청사과)","트로피카나 스파클링(포도)", "가나초콜릿음료","가나초콜릿음료","레쓰비","레쓰비",
"칸타타","레쓰비 카페타임","게토레이","게토레이","코코팜","잔치집 식혜")
drink_price = (600,600,600,1500,1500,1300,1300,1300,1000,1000,800,800,1000,1000,1000,1000,1000,1000,1000,1000,600,600,600,600,1000,1000,800,800,800,800)
left_drink = [1,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]
money = 0
money = int(input("돈을 투입하세요 : "))
while True:
show_menu()
sel = int(input("\n메뉴 번호를 선택하세요 (종료 : 0) : "))
if sel == 0:
break;
elif (sel >= 1 and sel <= len(drink_menu)):
money = buy(sel - 1)
else:
print("잘못된 메뉴 번호입니다")
print("자판기 종료, 잔액 %d 반환" % money)
change_money_1000 = money // 1000
change_money_500 = (money - (change_money_1000 * 1000)) // 500
change_money_100 = (money - (change_money_1000 * 1000) - (change_money_500 * 500)) // 100
print("1000원 짜리:", change_money_1000, "개", "500원짜리:", change_money_500, "개", "100원짜리:", change_money_100, "개")
음료를 구입할 때 left_drink의 해당 음료의 갯수를 하나 씩 줄이고 싶은데 실행을 하면
Traceback (most recent call last):
File "C:/Users/JES/.PyCharmCE2019.1/config/scratches/scratch_2.py", line 49, in <module>
money = buy(sel - 1)
File "C:/Users/JES/.PyCharmCE2019.1/config/scratches/scratch_2.py", line 11, in buy
if money < drink_price[num]:
TypeError: '<' not supported between instances of 'tuple' and 'int'
두가지 오류가 발생합니다 튜플로 하건 리스트로 하건 오류가 발생하는데 어떻게 해결하면 좋을까요?