Решение на Хороскоп от Борис Пелтеков

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

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

Резултати

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

Код

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

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

..........E....
======================================================================
ERROR: test_sagittarius (test.HoroscopeTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/d20130307-16279-oalj7h/test.py", line 32, in test_sagittarius
    self.assertEqual(solution.what_is_my_sign(11, 12), 'Стрелец')
  File "/tmp/d20130307-16279-oalj7h/solution.py", line 5, in what_is_my_sign
    if day > thresh[month]:
IndexError: list index out of range

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

FAILED (errors=1)

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

Борис обнови решението на 07.03.2013 02:44 (преди почти 12 години)

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