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

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

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

Резултати

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

Код

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

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

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

OK

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

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

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

На първата лекция си говорихме за това, че в Python има разни колекции. Помисли как да ги използваш, вместо да пишеш един код 12 пъти :)

И тези принтове в края на решението си, вероятно са следствие на начина, по който си тестваш кода, но изобщо не им е мястото в самото решение, което си предал.

Александър обнови решението на 03.03.2013 15:40 (преди над 11 години)

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