파이썬

[파이썬] 6장 문제 풀이 (제어문)

Nohsw 2023. 12. 20. 20:09

1번 문제:
1. 조건을 만족하는 택시 탑승객 수를 구하는 프로그램 만들기.
2. 손님 별 운행 소요시간은 5~50분 이내이며, 5~15분인 손님만 분류하여 총 탑승객 구하기.
3.탑승객은 50명으로 제한

from random import *

guestNum = 1
for guest in range(1,51):
    guestTime = int(random() * 50) + 5

    if guestTime >= 5 and guestTime <= 15:
        print("[0] "+str(guest)+"번째 손님 (소요시간: "+str(guestTime)+"분)")
        guestNum += 1

    else:
        print("[ ] "+str(guest)+"번째 손님 (소요시간: "+str(guestTime)+"분)")
        
print("총 탑승객: "+str(guestNum))

[  ] 1번째 손님 (소요시간: 26분)
[0] 2번째 손님 (소요시간: 9분)
[  ] 3번째 손님 (소요시간: 52분)
[  ] 4번째 손님 (소요시간: 21분)
[  ] 5번째 손님 (소요시간: 27분)
[  ] 6번째 손님 (소요시간: 20분)
[  ] 7번째 손님 (소요시간: 29분)
[  ] 8번째 손님 (소요시간: 50분)
[  ] 9번째 손님 (소요시간: 36분)
[0] 10번째 손님 (소요시간: 11분)
[  ] 11번째 손님 (소요시간: 24분)
[  ] 12번째 손님 (소요시간: 54분)
[  ] 13번째 손님 (소요시간: 43분)
[  ] 14번째 손님 (소요시간: 44분)
[  ] 15번째 손님 (소요시간: 49분)
[  ] 16번째 손님 (소요시간: 35분)
[  ] 17번째 손님 (소요시간: 42분)
[  ] 18번째 손님 (소요시간: 25분)
[  ] 19번째 손님 (소요시간: 47분)
[  ] 20번째 손님 (소요시간: 30분)
[  ] 21번째 손님 (소요시간: 20분)
[  ] 22번째 손님 (소요시간: 30분)
[0] 23번째 손님 (소요시간: 11분)
[  ] 24번째 손님 (소요시간: 24분)
[  ] 25번째 손님 (소요시간: 24분)
[  ] 26번째 손님 (소요시간: 54분)
[  ] 27번째 손님 (소요시간: 44분)
[  ] 28번째 손님 (소요시간: 49분)
[  ] 29번째 손님 (소요시간: 51분)
[  ] 30번째 손님 (소요시간: 26분)
[  ] 31번째 손님 (소요시간: 23분)
[0] 32번째 손님 (소요시간: 13분)
[  ] 33번째 손님 (소요시간: 35분)
[  ] 34번째 손님 (소요시간: 42분)
[  ] 35번째 손님 (소요시간: 26분)
[  ] 36번째 손님 (소요시간: 36분)
[  ] 37번째 손님 (소요시간: 18분)
[  ] 38번째 손님 (소요시간: 54분)
[  ] 39번째 손님 (소요시간: 43분)
[  ] 40번째 손님 (소요시간: 22분)
[  ] 41번째 손님 (소요시간: 52분)
[  ] 42번째 손님 (소요시간: 28분)
[  ] 43번째 손님 (소요시간: 37분)
[  ] 44번째 손님 (소요시간: 47분)
[  ] 45번째 손님 (소요시간: 26분)
[  ] 46번째 손님 (소요시간: 40분)
[0] 47번째 손님 (소요시간: 10분)
[0] 48번째 손님 (소요시간: 14분)
[  ] 49번째 손님 (소요시간: 21분)
[  ] 50번째 손님 (소요시간: 53분)
총 탑승객: 7

2번 문제:
 1. 상품가격은 개당 1,000원.
2. 3의 배수로 상품 구매한다고 가정.
3. 계산 시 '2+1 상품입니다.' 출력.


price = 0
gift = 12
i = 1
j = 0

while i <= gift:
    print("2+1 상품입니다.")
    i += 1
    j = i % 3
    if j == 0:
        price += 2000
    
print(price)

첫번째로 작성한 코드인데 하루가 힘들어서 그런지 머리가 잘 안돌아가서 헤매다가 어떻게 하다보니 풀이는 되서 올린 코드이다. 문제와는 조금 다른 느낌이지만 답은 잘 나와서 올려보았다.


price = 0
gift = 6
i = 1
j = 0

while i <= gift:
    print("2+1 상품입니다.")
    i += 1
    price += 1000
    j = i % 3
    if j == 0:
        price -= 1000
    
print(price)

두번째는 조금 쉬다가 코드를 조금 수정해서 작성하였다.
문제에서 상품가격을 개당 1,000원으로 정해놓아서 이렇게 코드를 구현하는게 맞을 것 같았다.

변수명은 그냥 생각없이 테스트용으로 만들었다.

더 좋은 코드가 분명 있을 것 같은데 오늘 하루를 너무 무리했는지 머리가 잘 돌아가지 않아 6장까지 마무리 짓고 쉬어야겠다.