Задача: FizzBuzz

Создайте функцию, которая принимает число в качестве аргумента и возвращает “Fizz”, “Buzz” или “FizzBuzz”.

Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU
  • Если число кратно 3, то на выходе должно получиться “Fizz”.
  • Если заданное число кратно 5, результатом должно быть “Buzz”.
  • Если заданное число кратно и 3, и 5, на выходе должно получиться “FizzBuzz”.
  • Если число не кратно ни 3, ни 5, то оно должно быть выведено само по себе, как показано в примерах ниже.
  • Вывод всегда должен быть строкой, даже если число не кратно 3 или 5.

Примеры:

fizz_buzz(3) ➞ "Fizz"

fizz_buzz(5) ➞ "Buzz"

fizz_buzz(15) ➞ "FizzBuzz"

fizz_buzz(4) ➞ "4"

Примечание:

Старайтесь быть внимательными к тому, как вы пишете слова и где ставите заглавные буквы.

Варианты решений:

def fizz_buzz(num):
	return "Fizz"*(num%3 == 0) + "Buzz"*(num%5 == 0) or str(num)
def fizz_buzz(num):
	s = ''
	if num%3 == 0: s += 'Fizz'
	if num%5 == 0: s += 'Buzz'
	return s if s else str(num)
fizz_buzz = lambda n: (n%3 < 1)*"Fizz" + (n%5 < 1)*"Buzz" or "%d"%n
def fizz_buzz(num):
	if num % 3 == 0 and num % 5 == 0:
		return "FizzBuzz"
	elif num % 5 == 0:
		return "Buzz"
	elif num % 3 == 0:
		return "Fizz"
	else:
		return str(num)

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *