제목:

파이썬으로 피즈버즈 숫자 출력 프로그램 만들기

날짜: Posted on

파이썬으로 만든 피즈버즈(FizzBuzz) 출력 프로그램 예제입니다.

피즈버즈 게임이란 우리나라의 369 게임과 비슷한 놀이로, 숫자를 1부터 하나씩 늘려가면서 부르되 3의 배수인 경우 ‘Fizz’로, 5의 배수인 경우 ‘Buzz’로, 3의 배수이면서 동시의 5의 배수인 경우 ‘FizzBuzz’로 부르는 놀이입니다.

여기서는 1부터 100까지의 숫자 중에서 Fizz와 Buzz를 출력하는(둘 다 아닌 경우 그 숫자를 출력) 예를 보여드립니다.

for i in range(1, 101):
    if i % 3 == 0 and i % 5 == 0:
        # 3의 배수이면서 동시에 5의 배수
        print("FizzBuzz  ")
    elif i % 3 == 0:
        # 5의 배수는 아니지만 3의 배수
        print("    Fizz  ", end="")
    elif i % 5 == 0:
        # 3의 배수는 아니지만 5의 배수
        print("    Buzz  ")
    else:
        # 3의 배수도 5의 배수도 아님
        print("%8d  " % i, end="")

for문에서 100이 아닌 101인 이유는, 100으로 하면 100에 도달하는 순간 루프를 벗어나므로 99까지만 적용되기 때문입니다. 그리고 먼저 3의 배수이면서 동시에 5의 배수인 경우를 체크합니다. 그 다음으로 3의 배수인 경우와 5의 배수인 경우를 체크합니다. 뒤의 둘은 순서가 바뀌어도 무방하나, 3의 배수이면서 5의 배수인 경우를 가장 먼저 체크해야 합니다. 마지막으로 3의 배수도 5의 배수도 아닌 경우를 체크합니다. 이 코드에서는 폭을 고정시켜서 출력하며 5마다 줄바꿈을 하도록 되어 있습니다.

이 프로그램의 실행 결과는 다음과 같습니다.

       1         2      Fizz         4      Buzz
    Fizz         7         8      Fizz      Buzz
      11      Fizz        13        14  FizzBuzz
      16        17      Fizz        19      Buzz
    Fizz        22        23      Fizz      Buzz
      26      Fizz        28        29  FizzBuzz
      31        32      Fizz        34      Buzz
    Fizz        37        38      Fizz      Buzz
      41      Fizz        43        44  FizzBuzz
      46        47      Fizz        49      Buzz
    Fizz        52        53      Fizz      Buzz
      56      Fizz        58        59  FizzBuzz
      61        62      Fizz        64      Buzz
    Fizz        67        68      Fizz      Buzz
      71      Fizz        73        74  FizzBuzz
      76        77      Fizz        79      Buzz
    Fizz        82        83      Fizz      Buzz
      86      Fizz        88        89  FizzBuzz
      91        92      Fizz        94      Buzz
    Fizz        97        98      Fizz      Buzz

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다