Решение на Хороскоп от Ния Дончева

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

Към профила на Ния Дончева

Резултати

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

Код

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

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

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

OK

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

Ния обнови решението на 01.03.2013 23:44 (преди над 11 години)

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

Ния обнови решението на 02.03.2013 01:51 (преди над 11 години)

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

В момента държиш рекорда за най-дълго решение!

Помисли как да го направиш без толкова много if-ове. Така определено не е елегантно. Можеш да използваш някоя от колекциите например ;-)

Ния обнови решението на 03.03.2013 23:30 (преди над 11 години)

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

Ния обнови решението на 04.03.2013 02:39 (преди над 11 години)

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