Backend/Python

Python 파이썬 기초 예제 풀이

쏠솔랄라 2023. 7. 2. 22:59

 

 

Exercise1

 

 

자판기 프로그램

<출력 결과>
요금 투입 : 10000
=============== 커피 자판기 ================
1. 커피(2000원) 2.코코아(2500원) 3.반환 4.종료
메뉴 선택 : 1
커피가 나왔습니다. 현재 잔액은 8000원 입니다.
=============== 커피 자판기 ================
1. 커피(2000원) 2.코코아(2500원) 3.반환 4.종료
메뉴 선택 : 2
코코아가 나왔습니다. 현재 잔액은 5500원 입니다.
=============== 커피 자판기 ================
1. 커피(2000원) 2.코코아(2500원) 3.반환 4.종료
메뉴 선택 : 3
5500원을 반환합니다.
요금투입 :
=============== 커피 자판기 ================
1. 커피(2000원) 2.코코아(2500원) 3.반환 4.종료
메뉴 선택 : 4자판기를 종료 합니다.

 

 

tot = 0

while True:
    tot += int(input("요금 투입 : "))
    check = True

    while check:
        select = int(input("=================커피 자판기==================\n1.커피(2000원) 2.코코아(2500원) 3.반환 4.종료\n메뉴 선택 : "))

        if select==1:
            if tot>=2000:
                tot-=2000
                print("커피가 나왔습니다.\n현재 잔액은 {}원입니다".format(tot))
            else:
                while True:
                    ans = input("잔액이 부족합니다. 요금을 추가로 투입하시겠습니까(Y/N)")

                    if ans=="Y":
                        check = False
                        break
                    elif ans=='N':
                        print("{}원이 반환되었습니다.\n자판기를 종료합니다.".format(tot))
                        tot=0
                        exit()
                    else:
                        print("잘못된 입력입니다. 다시 입력하세요.")
        elif select==2:
            if tot>=2500:
                tot-=2500
                print("코코아가 나왔습니다.\n현재 잔액은 {}원입니다".format(tot))
            else:
                while True:
                    ans = input("잔액이 부족합니다. 요금을 추가로 투입하시겠습니까(Y/N)")
                    if ans=="Y":
                        check = False
                        break
                    elif ans=='N':
                        print("{}원이 반환되었습니다.\n자판기를 종료합니다.".format(tot))
                        tot=0
                        exit()
                    else:
                        print("잘못된 입력입니다. 다시 입력하세요.")
        elif select==3:
            print("{}원이 반환되었습니다.".format(tot))
            tot=0

            ans = input("요금을 다시 투입하시겠습니까?(Y/N)")
            if ans=="Y":
                check = False
                break
            elif ans=='N':
                print("자판기를 종료합니다.")
                exit()
            else:
                print("잘못된 입력입니다. 다시 입력하세요.")
        elif select==4:
            print("자판기를 종료합니다.\n{}원이 반환됩니다.".format(tot))
            exit()
        else:
            print("잘못된 입력입니다. 다시 선택하세요.")

 

 

출력화면

 

 


 

 

Exercise2

 

 

수를 입력받아 거꾸로 출력
단,출력은 한번에 반복문이 마친후 출력한다.

ex. 정수 입력 : 1230
0321

 

 

su = int(input("정수 입력 : ")) # 입력

rev = ""# 변수설정

while su != 0:# 반복문
    rev += str((su % 10))
    su //= 10

print(rev)#출력

 

 

출력화면

 

 


 

 

Exercise3

 

 

사용자가 입력한 정수 값에 대해
2진수로 변환하여 출력하는 코드를 작성하시오.

 

 

user = int(input("정수값을 입력하세요 : "))
print("{:b}".format(user))

 

또는

su = int(input("정수값을 입력하세요 : "))

bi = ""

while su != 0:

    bi = str(su%2) + bi
    su//=2

print(bi)

 

 

출력화면