Решение на Хороскоп от Александър Димитров

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

Към профила на Александър Димитров

Резултати

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

Код

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

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

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

OK

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

Александър обнови решението на 02.03.2013 08:50 (преди над 11 години)

+def what_is_my_sign(day, month):
+ if month == 3 and day >= 21 or month == 4 and day <= 20:
+ return "Овен"
+ elif month == 4 and day >= 21 or month == 5 and day <= 20:
+ return "Телец"
+ elif month == 5 and day >= 21 or month == 6 and day <= 20:
+ return "Близнаци"
+ elif month == 6 and day >= 21 or month == 7 and day <= 21:
+ return "Рак"
+ elif month == 7 and day >= 22 or month == 8 and day <= 22:
+ return "Лъв"
+ elif month == 8 and day >= 23 or month == 9 and day <= 22:
+ return "Дева"
+ elif month == 9 and day >= 23 or month == 10 and day <= 22:
+ return "Везни"
+ elif month == 10 and day >= 23 or month == 11 and day <= 21:
+ return "Скорпион"
+ elif month == 11 and day >= 22 or month == 12 and day <= 21:
+ return "Стрелец"
+ elif month == 12 and day >= 22 or month == 1 and day <= 19:
+ return "Козирог"
+ elif month == 1 and day >= 20 or month == 2 and day <= 18:
+ return "Водолей"
+ else:
+ return "Риби"

Александър обнови решението на 02.03.2013 09:52 (преди над 11 години)

def what_is_my_sign(day, month):
- if month == 3 and day >= 21 or month == 4 and day <= 20:
- return "Овен"
+ last_day_of_sign = [19, 18, 20, 20, 20, 20, 21, 22, 22, 22, 21, 21]
- elif month == 4 and day >= 21 or month == 5 and day <= 20:
+ signs = ["Козирог", "Водолей", "Риби", "Овен", "Телец", "Близнаци", "Рак",
- return "Телец"
+ "Лъв", "Дева", "Везни", "Скорпион", "Стрелец"]
- elif month == 5 and day >= 21 or month == 6 and day <= 20:
+ month = month - 1
- return "Близнаци"
+ for month_index in range(0, 12):
- elif month == 6 and day >= 21 or month == 7 and day <= 21:
+ if month_index == month:
- return "Рак"
+ if day <= last_day_of_sign[month_index]:
- elif month == 7 and day >= 22 or month == 8 and day <= 22:
+ return signs[month_index]
- return "Лъв"
+ else:
- elif month == 8 and day >= 23 or month == 9 and day <= 22:
+ return signs[(month_index + 1) % 12]
- return "Дева"
- elif month == 9 and day >= 23 or month == 10 and day <= 22:
- return "Везни"
- elif month == 10 and day >= 23 or month == 11 and day <= 21:
- return "Скорпион"
- elif month == 11 and day >= 22 or month == 12 and day <= 21:
- return "Стрелец"
- elif month == 12 and day >= 22 or month == 1 and day <= 19:
- return "Козирог"
- elif month == 1 and day >= 20 or month == 2 and day <= 18:
- return "Водолей"
- else:
- return "Риби"

Александър обнови решението на 02.03.2013 21:12 (преди над 11 години)

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