티스토리 뷰
FizzBuzz는 간단한 프로그래밍 문제이며 규칙은 다음과 같다.
- 1에서 100까지 출력
- 3의 배수는 Fizz 출력
- 5의 배수는 Buzz 출력
- 3과 5의 공배수는 FizzBuzz 출력
20.1 1에서 100까지 출력
for i in range(1, 101):
print(i)
20.2 3의 배수는 Fizz 출력, 5의 배수는 Buzz 출력
for i in range(1, 101):
if i % 3 == 0:
print('Fizz')
elif i % 5 == 0:
print('Buzz')
else:
print(i)
20.3 3과 5의 공배수는 FizzBuzz 출력
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
print('FizzBuzz')
elif i % 3 == 0:
print('Fizz')
elif i % 5 == 0:
print('Buzz')
else:
print(i)
20.5 코드 단축하기
for i in range(1, 101):
print('Fizz' * (i % 3 == 0) + 'Buzz' * (i % 5 == 0) or i)
괄호 안의 조건이 맞을 경우 True이므로 Fizz는 출력된다.
조건이 맞지 않을 경우 False이므로 Buzz가 출력된다.
둘다 맞지 않을 경우 변수가 출력된다.
20.8 심사문제: 5와 7의 배수, 공배수 처리하기
x, y = map(int, input().split())
for i in range(x, y+1):
if i % 5 == 0 and i % 7 == 0:
print('FizzBuzz')
elif i % 5 == 0:
print('Fizz')
elif i % 7 == 0:
print('Buzz')
else:
print(i)
입력한 숫자의 범위이므로 마지막 숫자에 +1을 해준다.
배수, 공배수를 찾는 조건을 적는데, 배수의 조건을 먼저 입력하면 공배수를 찾지않고 반복이 끝나기 때문에 공배수의 조건을 먼저 적어야 한다.
'Python' 카테고리의 다른 글
[py] 19. 계단식으로 별 출력하기 (0) | 2022.01.16 |
---|---|
[py] 18. break, continue (0) | 2022.01.16 |
[py] 17. while 반복문 (0) | 2022.01.16 |
[py] 16. for 반복문 (0) | 2022.01.16 |
[py] 15. elif (0) | 2022.01.16 |
댓글