Вот программа на Python, реализующая проблему FizzBuzz, а также несколько решений:
Метод 1: использование простого цикла и условных операторов
def fizzbuzz(n):
for i in range(1, n+1):
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)
# Test the function
fizzbuzz(20)
Метод 2. Использование списка
def fizzbuzz(n):
output = ["FizzBuzz" if i % 3 == 0 and i % 5 == 0 else "Fizz" if i % 3 == 0 else "Buzz" if i % 5 == 0 else i for i in range(1, n+1)]
print(output)
# Test the function
fizzbuzz(20)
Метод 3. Использование словаря и оператора по модулю
def fizzbuzz(n):
mappings = {3: "Fizz", 5: "Buzz"}
for i in range(1, n+1):
output = ""
for key in mappings:
if i % key == 0:
output += mappings[key]
if output == "":
output = i
print(output)
# Test the function
fizzbuzz(20)
Метод 4. Использование тернарного оператора и объединения строк
def fizzbuzz(n):
for i in range(1, n+1):
output = "Fizz"*(i % 3 == 0) + "Buzz"*(i % 5 == 0)
print(output or i)
# Test the function
fizzbuzz(20)
Это всего лишь несколько примеров того, как можно реализовать программу FizzBuzz на Python. Не стесняйтесь исследовать и изменять их в соответствии с вашими требованиями.