Решение на Да си приготвим нещо за хапване от Виктор Бечев

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

Към профила на Виктор Бечев

Резултати

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

Код

from math import log
def prepare_meal(number):
return (([x for x in range(round(log(number, 3) + 1))
if number % (3 ** x) == 0][-1] * "spam ")[:-1] +
(not number % 5) * " and eggs")[(bool(number % 3)) * 5:]

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

..........
----------------------------------------------------------------------
Ran 10 tests in 0.001s

OK

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

Виктор обнови решението на 13.03.2012 18:22 (преди над 8 години)

+from math import log
+def prepare_meal(number):
+ return (([x for x in range(round(log(number, 3) + 1))
+ if number % (3 ** x) == 0][-1] * "spam ")[:-1] +
+ (not number % 5) * " and eggs")[(bool(number % 3)) * 5:]

Въпреки пълната липса на четимост и идея от това кога трябва да се пишат нещата като един експрешън, ми е ясно, че единствената ти цел беше да е на един ред, за това няма да се хабя с критики...