횟수에 의한 반복이라면 for문, 조건에 의한 반복일 때는 while문이 더 편리하다.
# 버스 운행 시간이 6시-23시로 정해져 있음
gapA = 15
gapB = 13
gapC = 8
for time in range(17 * 60 + 1):
if time < 20 or time > (16 * 60):
if time % gapA == 0 and time % gapB == 0:
print(f'A B 동시 정차 => {time // 60 + 6}: {time % 60}')
else:
if time % gapA == 0 and time % gapB == 0:
print(f'A B 동시 정차 => {time // 60 + 6}: {time % 60}')
elif time % gapA == 0 and time % gapC == 0:
print(f'A C 동시 정차 => {time // 60 + 6}: {time % 60}')
elif time % gapB == 0 and time % gapC == 0:
print(f'B C 동시 정차 => {time // 60 + 6}: {time % 60}')
elif time % gapA == 0 and time % gapB == 0 and time % gapC == 0:
print(f'A B C 동시 정차 => {time // 60 + 6}: {time % 60}')
gear1 = int(input('1번 톱니 수: '))
gear2 = int(input('2번 톱니 수: '))
turn = 1
while True:
if turn % gear1 == 0 and turn % gear2 == 0:
print(f'최초로 만나는 톱니 수: {turn}톱니')
print(f'gear1 회전 수: {turn // gear1}회전')
print(f'gear2 회전 수: {turn // gear2}회전')
break
turn += 1