Решение на Хороскоп от Мария Терзиева

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

Към профила на Мария Терзиева

Резултати

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

Код

def what_is_my_sign(day, month):
signs = {1: ('Козирог', 'Водолей'),
2: ('Водолей', 'Риби'),
3: ('Риби', 'Овен'),
4: ('Овен', 'Телец'),
5: ('Телец', 'Близнаци'),
6: ('Близнаци', 'Рак'),
7: ('Рак', 'Лъв'),
8: ('Лъв', 'Дева'),
9: ('Дева', 'Везни'),
10: ('Везни', 'Скорпион'),
11: ('Скорпион', 'Стрелец'),
12: ('Стрелец', 'Козирог')}
def what_to_return(limit):
if day < limit:
return sign_tuple[0]
else:
return sign_tuple[1]
for month_number, sign_tuple in signs.items():
if month_number == month and month_number in [3, 4, 5, 6]:
return what_to_return(21)
elif month_number == month and month_number in [7, 11, 12]:
return what_to_return(22)
elif month_number == month and month_number in [8, 9, 10]:
return what_to_return(23)
elif month_number == month == 1:
return what_to_return(20)
elif month_number == month == 2:
return what_to_return(19)

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

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

OK

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

Мария обнови решението на 03.03.2013 15:42 (преди над 11 години)

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

Мария обнови решението на 03.03.2013 20:38 (преди над 11 години)

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

Мария обнови решението на 03.03.2013 20:45 (преди над 11 години)

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