Решение на Хороскоп от Красимира Божанова

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

Към профила на Красимира Божанова

Резултати

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

Код

SIGNS = ["Козирог", "Водолей", "Риби", "Овен", "Телец", "Близнаци",
"Рак", "Лъв", "Дева", "Везни", "Скорпион", "Стрелец"]
LIMITS_FOR_MONTHS = [19, 18, 20, 20, 20, 20, 21, 22, 22, 22, 21, 21]
def what_is_my_sign(day, month):
if day > LIMITS_FOR_MONTHS[month - 1]:
month = (month + 1) % 12
return SIGNS[month - 1]

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

...............
----------------------------------------------------------------------
Ran 15 tests in 0.002s

OK

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

Красимира обнови решението на 01.03.2013 22:03 (преди над 11 години)

+def what_is_my_sign(day, month):
+ signs = ["Козирог", "Водолей", "Риби", "Овен", "Телец", "Близнаци",
+ "Рак", "Лъв", "Дева", "Везни", "Скорпион", "Стрелец"]
+ limits_for_months = [19, 18, 20, 20, 20, 20, 21, 22, 22, 22, 21, 21]
+ if day > limits_for_months[month - 1]:
+ month = (month + 1) % 12
+ return signs[month - 1]

Можеш да изнесеш константите (signs, limits_for_months) извън функцията защото не е нужно те да се декларират наново при всяко извикване.

PS: Нещо което не сме ви казвали е че за константи практиката е имената на променливите да са с главни букви.

Красимира обнови решението на 03.03.2013 22:43 (преди над 11 години)

+SIGNS = ["Козирог", "Водолей", "Риби", "Овен", "Телец", "Близнаци",
+ "Рак", "Лъв", "Дева", "Везни", "Скорпион", "Стрелец"]
+LIMITS_FOR_MONTHS = [19, 18, 20, 20, 20, 20, 21, 22, 22, 22, 21, 21]
+
+
def what_is_my_sign(day, month):
- signs = ["Козирог", "Водолей", "Риби", "Овен", "Телец", "Близнаци",
- "Рак", "Лъв", "Дева", "Везни", "Скорпион", "Стрелец"]
- limits_for_months = [19, 18, 20, 20, 20, 20, 21, 22, 22, 22, 21, 21]
- if day > limits_for_months[month - 1]:
+ if day > LIMITS_FOR_MONTHS[month - 1]:
month = (month + 1) % 12
- return signs[month - 1]
+ return SIGNS[month - 1]