Решение на Хороскоп от Георги Ангелов

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

Към профила на Георги Ангелов

Резултати

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

Код

SIGNS = [
((1, 19), 'Козирог'),
((2, 18), 'Водолей'),
((3, 20), 'Риби'),
((4, 20), 'Овен'),
((5, 20), 'Телец'),
((6, 20), 'Близнаци'),
((7, 21), 'Рак'),
((8, 22), 'Лъв'),
((9, 22), 'Дева'),
((10, 22), 'Везни'),
((11, 21), 'Скорпион'),
((12, 21), 'Стрелец'),
((13, 0), 'Козирог'),
]
def what_is_my_sign(day, month):
""" Return the horoscope sign according to the day and month. """
for end_date, sign in SIGNS:
if (month, day) <= end_date:
return sign

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

...............
----------------------------------------------------------------------
Ran 15 tests in 0.001s

OK

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

Георги обнови решението на 01.03.2013 00:29 (преди около 11 години)

+SIGNS = [
+ ((1, 19), 'Козирог'),
+ ((2, 18), 'Водолей'),
+ ((3, 20), 'Риби'),
+ ((4, 20), 'Овен'),
+ ((5, 20), 'Телец'),
+ ((6, 20), 'Близнаци'),
+ ((7, 21), 'Рак'),
+ ((8, 22), 'Лъв'),
+ ((9, 22), 'Дева'),
+ ((10, 22), 'Везни'),
+ ((11, 21), 'Скорпион'),
+ ((12, 21), 'Стрелец'),
+ ((13, 0), 'Козирог'),
+]
+
+
+def what_is_my_sign(day, month):
+
+ """ Return the horoscope sign according to the day and month """
+
+ for end_date, sign in SIGNS:
+ if (month, day) <= end_date:
+ return sign

Георги обнови решението на 01.03.2013 00:33 (преди около 11 години)

+# Contains the end of the time period of every sign, in order
SIGNS = [
((1, 19), 'Козирог'),
((2, 18), 'Водолей'),
((3, 20), 'Риби'),
((4, 20), 'Овен'),
((5, 20), 'Телец'),
((6, 20), 'Близнаци'),
((7, 21), 'Рак'),
((8, 22), 'Лъв'),
((9, 22), 'Дева'),
((10, 22), 'Везни'),
((11, 21), 'Скорпион'),
((12, 21), 'Стрелец'),
((13, 0), 'Козирог'),
]
def what_is_my_sign(day, month):
-
""" Return the horoscope sign according to the day and month """
-
for end_date, sign in SIGNS:
if (month, day) <= end_date:
return sign

Георги обнови решението на 01.03.2013 00:34 (преди около 11 години)

# Contains the end of the time period of every sign, in order
SIGNS = [
((1, 19), 'Козирог'),
((2, 18), 'Водолей'),
((3, 20), 'Риби'),
((4, 20), 'Овен'),
((5, 20), 'Телец'),
((6, 20), 'Близнаци'),
((7, 21), 'Рак'),
((8, 22), 'Лъв'),
((9, 22), 'Дева'),
((10, 22), 'Везни'),
((11, 21), 'Скорпион'),
((12, 21), 'Стрелец'),
((13, 0), 'Козирог'),
]
def what_is_my_sign(day, month):
- """ Return the horoscope sign according to the day and month """
+ """ Return the horoscope sign according to the day and month. """
for end_date, sign in SIGNS:
if (month, day) <= end_date:
return sign

Георги обнови решението на 01.03.2013 00:37 (преди около 11 години)

-# Contains the end of the time period of every sign, in order
+# Contains the end of the time period (month, day) of every sign, in order
SIGNS = [
((1, 19), 'Козирог'),
((2, 18), 'Водолей'),
((3, 20), 'Риби'),
((4, 20), 'Овен'),
((5, 20), 'Телец'),
((6, 20), 'Близнаци'),
((7, 21), 'Рак'),
((8, 22), 'Лъв'),
((9, 22), 'Дева'),
((10, 22), 'Везни'),
((11, 21), 'Скорпион'),
((12, 21), 'Стрелец'),
((13, 0), 'Козирог'),
]
def what_is_my_sign(day, month):
""" Return the horoscope sign according to the day and month. """
for end_date, sign in SIGNS:
if (month, day) <= end_date:
return sign

Доста изчистено решение. Харесва ми.

Единствената ми забележка е за коментара на първия ред. Очевидно е какво има в SIGNS. Затрий го.

Самият факт, че си се постарал да си напишеш docstring за функцията и си подбрал добри имена ме радва. +1 точка от мен, за това.

Георги обнови решението на 01.03.2013 11:51 (преди около 11 години)

-# Contains the end of the time period (month, day) of every sign, in order
SIGNS = [
((1, 19), 'Козирог'),
((2, 18), 'Водолей'),
((3, 20), 'Риби'),
((4, 20), 'Овен'),
((5, 20), 'Телец'),
((6, 20), 'Близнаци'),
((7, 21), 'Рак'),
((8, 22), 'Лъв'),
((9, 22), 'Дева'),
((10, 22), 'Везни'),
((11, 21), 'Скорпион'),
((12, 21), 'Стрелец'),
((13, 0), 'Козирог'),
]
def what_is_my_sign(day, month):
""" Return the horoscope sign according to the day and month. """
for end_date, sign in SIGNS:
if (month, day) <= end_date:
return sign