[파이썬] 탕후루 자판기 만들기

구글에서 "탕후루 메뉴"라고 검색을 하였다. 

 

가격이 다 3,000원이어서, 재미가 없으니 금액을 내맘대로 조금씩 바꾸어 보았다.

menu=['딸기','샤인머스켓','귤','체리','블랙사파이어']
price=[3000,4000,2800,2500,4200]

 

탕후루 메뉴를 출력해보자. 

for문으로 출력을 하면,

menu=['딸기','샤인머스켓','귤','체리','블랙사파이어']
price=[3000,4000,2800,2500,4200]

print("[탕후루 메뉴]")
for i in menu:
	print(i)
    
    
>>
[탕후루 메뉴]
딸기
샤인머스켓
귤
체리
블랙사파이어

 

for문의 범위를 리스트 'menu'로 주면, menu에 있는 요소를 하나씩 출력한다. 

그런데 우리는 menu + 가격이 출력되기를 원하기 때문에, 

인덱싱으로 불러오도록 결합하고 싶다. 

어떻게 결합해야 할까?

 

print(menu[0])

>>
딸기

 

menu[인덱싱번호] <- 이렇게 사용하면, 원하는 데이터를 출력할 수 있다. 

menu=['딸기','샤인머스켓','귤','체리','블랙사파이어']
price=[3000,4000,2800,2500,4200]

print("[탕후루 메뉴]")
for i in range(5):
    print(f'{menu[i]}: {price[i]}')
    
>> 
[탕후루 메뉴]
딸기: 3000
샤인머스켓: 4000
귤: 2800
체리: 2500
블랙사파이어: 4200

 

메뉴 앞에 순서를 출력하려면 어떻게 해야 할까?

가령, "1. 딸기: 3000" <- 이렇게 출력하려면, 어떻게 해야 할까?

 

menu=['딸기','샤인머스켓','귤','체리','블랙사파이어']
price=[3000,4000,2800,2500,4200]

print("[탕후루 메뉴]")
for i in range(5):
    print(f'{i}{menu[i]}: {price[i]}')
    
>> 
[탕후루 메뉴]
0딸기: 3000
1샤인머스켓: 4000
2귤: 2800
3체리: 2500
4블랙사파이어: 4200

 

{i}를 넣었더니, 0,1,2,3,4로 나왔다. 

숫자. 띄고 나오도록 수정하려면...

print("[탕후루 메뉴]")
for i in range(5):
    print(f'{i+1}. {menu[i]}:{price[i]}')

 

되었습니다!

 

이제 탕후루를 선택하도록 input으로 값을 받아

출력해 보도록 합시다. 

 

.

.

.

a few moments later...

 

중간내용은 생략하고

최종 결과코드는 이렇습니다. 

menu=['딸기','샤인머스켓','귤','체리','블랙사파이어']
price=[3000,4000,2800,2500,4200]

print("[탕후루 메뉴]")
for i in range(5):
    print(f'{i+1}. {menu[i]}:{price[i]}')
    
c=input('어떤 탕후루를 주문하시겠습니까?:')
c=int(c)
print(f'{c}번 탕후루를 선택하셨습니다. {c}번 탕후루는 {menu[c-1]}: {price[c-1]}원 입니다.')
money=input('얼마를 내시겠습니까?:')
money=int(money)
print(f'{money}원을 내셨습니다. 거스름돈은 {money-price[c-1]}원 입니다')
print(f'주문하신 {menu[c-1]} 탕후루 나왔습니다.') 
print('저희 innoob탕후루를 찾아주셔서 감사합니다. 다음에 또 오세요^^')

반응형