Решение на Хороскоп от Илия Тобов

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

Към профила на Илия Тобов

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 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)}
def what_is_my_sign(day, month):
if day <= SIGNS[month][1]:
return SIGNS[month][0]
elif month == 12:
return SIGNS[1][0]
else:
return SIGNS[month+1][0]

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

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

OK

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

Илия обнови решението на 02.03.2013 21:25 (преди над 11 години)

+def what_is_my_sign(day, month):
+ 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)
+ }
+ if day <= signs[month][1]:
+ return signs[month][0]
+ elif month == 12:
+ return signs[1][0]
+ else:
+ return signs[month+1][0]

Илия обнови решението на 02.03.2013 22:19 (преди над 11 години)

def what_is_my_sign(day, month):
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)
}
+
if day <= signs[month][1]:
return signs[month][0]
+
elif month == 12:
return signs[1][0]
+
else:
return signs[month+1][0]

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

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

Илия обнови решението на 03.03.2013 17:16 (преди над 11 години)

-def what_is_my_sign(day, month):
- 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)
- }
+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)}
- if day <= signs[month][1]:
- return signs[month][0]
+def what_is_my_sign(day, month):
+ if day <= SIGNS[month][1]:
+ return SIGNS[month][0]
+
elif month == 12:
- return signs[1][0]
+ return SIGNS[1][0]
else:
- return signs[month+1][0]
+ return SIGNS[month+1][0]
+