Решение на Да си приготвим нещо за хапване от Петър Костов

Обратно към всички решения

Към профила на Петър Костов

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 10 успешни тест(а)
  • 0 неуспешни тест(а)

Код

def prepare_meal(number):
number_range = range(number + 1)
meal = ['spam ' * n for n in number_range if (number % 3 ** n) is 0][-1]
if number % 5 == 0 and number is not 0:
if len(meal) > 0:
meal += 'and '
meal += 'eggs '
return meal[:-1]

Лог от изпълнението

..........
----------------------------------------------------------------------
Ran 10 tests in 4.653s

OK

История (1 версия и 2 коментара)

Петър обнови решението на 08.03.2012 23:32 (преди почти 13 години)

+def prepare_meal(number):
+ number_range = range(number + 1)
+ meal = ['spam ' * n for n in number_range if (number % 3 ** n) is 0][-1]
+ if number % 5 == 0 and number is not 0:
+ if len(meal) > 0:
+ meal += 'and '
+ meal += 'eggs '
+ return meal[:-1]

Ако всичко това беше написано на Scheme и беше в един let*, щеше да е супер яко!

Но тъй като това е Python, а ти изглежда владееш синтаксиса му достатъчно добре, се чувствам длъжен да кажа нещо: "Изглеждаш като луд с резачка!" :)