drink = {'사이다':1700, '콜라':1900, '식혜': 2500, '솔의눈': 3000}
def vending_machine():
for x,y in drink.items():
print('\u2022',x,y,"원")
print("-"*20)
type_of_drink = input("음료를 선택해주세요: ")
if type_of_drink in drink.keys():
price = int(input("금액을 지불해 주세요: "))
if price < drink[type_of_drink]:
print('돈이 부족합니다.')
else:
print("거스름돈은", price - drink[type_of_drink],"원 입니다.")
else:
print('해당 음료가 없습니다.')
pass
vending_machine()
풀다가 if문 안에 price < drink[x]가 '<' not supported between instances of 'str' and 'int' 라는 에러가 자꾸 떠서 헤맸었다.
나는 딕셔너리에서 불러오는 drink[x]가 문제일거라 생각했지만, input을 int()로 바꿔주니까 해결.
print안에 글들은 넣는게 깔끔해 보여서 그냥 넣었당.
+) 다른분들 올린거 보니까 for 문으로 drink 딕셔너리 출력되게 하셨길래 나도 바꿨다.
원래 print안에 글로 썼었는데 생각해보니까 만약에 딕셔너리 값이 추가된다고 하면 for문이 효율적일 것 같아서..
그리고 옵션 보여줄 때 저 특수기호?를 넣고 싶어서 찾아보니까 유니코드 문자표라는게 있길래 넣어봤다.
- 유니코드 문자표
'문제풀이 > 스파르타 - 파이썬 문제' 카테고리의 다른 글
[Python] 데이터 전처리 & 시각화 | 실습문제(Matplotlib) (1) | 2024.07.24 |
---|---|
[Python] 데이터 전처리 & 시각화 | 실습 문제(Pandas) (0) | 2024.07.22 |
[Python] 파이썬 기초 | 과제 (0) | 2024.07.10 |
[Python 과제] Lv3. 단어 맞추기 게임 (1) | 2024.05.28 |
[Python 과제] Lv1. 랜덤 닉네임 생성기 (0) | 2024.05.24 |