25.06.02

2025. 6. 9. 13:25·LMS 7/개발일지

 

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
'LMS 7/개발일지' 카테고리의 다른 글
  • 25.06.07 개발일지 / 4팀 PC방 키오스크 개발일지 마무리
  • 25.06.05 개발일지 / 4팀 PC방 키오스크 개발일지
  • 25.05.30
  • 25.05.29
m_Dev
m_Dev
  • m_Dev
    m_Dev
    m_Dev
  • 전체
    오늘
    어제
    • 분류 전체보기
      • MAIN STUDY
        • 정보보안
        • 빅데이터
        • 정보처리
        • 컴퓨터 구조
        • 기타
      • JOB
        • Study
        • Project
      • LMS 7
        • 개발일지
      • FRAMEWORK
        • Qt
        • MFC
        • Winform
        • WPF
        • MAUI
      • NETWORK
        • Study
        • Assignment
      • PYTHON
        • Set
        • Study
        • Assignment
        • Project
      • C
        • Set
        • Study
        • Assignment
        • Project
      • C++
        • Set
        • Study
        • Assignment
        • Project
      • C#
        • Set
        • Study
        • Assignment
        • Project
      • DATABASE
        • MySQL
        • SQLite
      • IDE
        • VisualStudioCode
        • VisualStudio
        • Pycharm
        • Colab
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
m_Dev
25.06.02
상단으로

티스토리툴바