1. 이용권 함수
def time(): #이용권 함수
time_db = {
'1000': ['00:50'],
'2000': ['01:30'],
'3000': ['02:00'],
'5000': ['03:30'],
'10000': ['07:30'],
'20000': ['14:30'],
'30000': ['22:30'],
'50000': ['37:00']
}
while True:
clear_console()
print(time_charge_art)
print("충전할 요금을 선택해 주세요.")
charge_price = int(input()) #지불할 금액
lst = ['1000','2000','3000','5000','10000','20000','30000','50000']
charge_price = lst[charge_price-1]
if charge_price in time_db:
selceted_times = []
selceted_times.append(time_db[charge_price])
print(f"충전할 시간 : {time_db[charge_price]}")
break
else:
print(f"System : 해당 시간의 요금제는 없습니다")
continue
return charge_price
1. 딕셔너리 형태로 time_db에 키와 값을 저장
2. While 반복문으로 1부터 8까지 인덱스를 입력받는다.
3. 인덱스를 사용해 lst에 저장된 값을 charge_price 에 저장한다.
4. charge_price는 딕셔너리의 키 역할을 하고, selected_times 리스트에 키에 대응하는 값을 저장한 후 조건문을 빠져나온다.
5. 이후 charge_price를 리턴 받는다.
2. 결제함수
def pay(charge_price): #결제함수
print("지불할 금액 >>>", charge_price)
print("0. 뒤로가기 1. 현금 2. 신용카드 3. 카카오페이")
pay_way = int(input("결제방식 입력 >>>"))
lst = ["뒤로가기","현금","신용카드","카카오페이"]
pay_way = lst[pay_way]
if pay_way == "현금":
money = int(input("현금을 넣어 주세요 >>> "))
change_money = money - int(charge_price)
print("결제가 완료되었습니다.")
print("거스름돈 >>> ", change_money)
return True
elif pay_way == "신용카드":
print("카드를 삽입해 주세요.")
print("결제가 완료되었습니다.")
return True
elif pay_way == "카카오페이":
print("지정된 바코드를 찍어주세요.")
print("결제가 완료되었습니다.")
return True
elif pay_way == "뒤로가기":
print("이전화면으로 돌아갑니다.")
return False
else:
print(f"System : 결제에 실패했습니다.")
return False
위의 return한 charge_price를 가지고 실행되는 함수임
1. 원하는 결제 방식을 인덱스 형식으로 입력 받는다.
2. 0(뒤로가기)를 포함해 입력받은 인덱스로 저장된 인덱스에서 값을 가져와 pay_way에 저장한다.
3. 현금일 때에는 입력받은 현금에서 지불해야 할 금액(charge_price)를 제외시킨 change_money를 거스름돈으로 반환한다.
4. 신용카드와 카카오페이는 각각 행동을 출력한다.
5. 0 입력 시에는 뒤로가기를 출력한다.
3. 뒤로가기 함수
def main_screen():
while True:
if pay(time()):
break
else:
continue
위 2.에서 return이 True 일때만 반복문을 빠져나오고, 아닐 경우에는 다시 입력받도록 위의 함수를 반복한다.
4. 유스케이스
좀 더 구체적으로 유스케이스를 작성했다.

'LMS 7 > 개발일지' 카테고리의 다른 글
| 25.06.07 개발일지 / 4팀 PC방 키오스크 개발일지 마무리 (0) | 2025.06.09 |
|---|---|
| 25.06.05 개발일지 / 4팀 PC방 키오스크 개발일지 (1) | 2025.06.09 |
| 25.05.30 (0) | 2025.06.09 |
| 25.05.29 (0) | 2025.06.09 |
| 25.05.28. (1) | 2025.05.28 |