Решение на Хороскоп от Янина Методиева

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

Към профила на Янина Методиева

Резултати

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

Код

#-*- coding: iso-8859-5 -*-
def what_is_my_sign(dd,mm):
if mm == 1:
if (dd >= 1) and (dd <= 19):
sign = "Козирог"
elif (dd > 19) and (dd <= 31):
sign = "Водолей"
elif mm == 2:
if (dd >= 1) and (dd <= 18):
sign = "Водолей"
elif (dd > 18) and (dd <= 29):
sign = "Риби"
elif mm == 3:
if (dd >= 1) and (dd <= 20):
sign = "Риби"
elif (dd > 20) and (dd <= 31):
sign = "Овен"
elif mm == 4:
if (dd >= 1) and (dd <= 20):
sign = "Овен"
elif (dd > 20) and (dd <= 30):
sign = "Телец"
elif mm == 5:
if (dd >= 1) and (dd <= 20):
sign = "Телец"
elif (dd > 20) and (dd <= 31):
sign = "Близнаци"
elif mm == 6:
if (dd >= 1) and (dd <= 20):
sign = "Близнаци"
elif (dd > 20) and (dd <= 30):
sign = "Рак"
elif mm == 7:
if (dd >= 1) and (dd <= 21):
sign = "Рак"
elif (dd > 21) and (dd <= 31):
sign = "Лъв"
elif mm == 8:
if (dd >= 1) and (dd <= 22):
sign = "Лъв"
elif (dd > 22) and (dd <= 31):
sign = "Дева"
elif mm == 9:
if (dd >= 1) and (dd <= 22):
sign = "Дева"
elif (dd > 22) and (dd <= 30):
sign = "Везни"
elif mm == 10:
if (dd >= 1) and (dd <= 22):
sign = "Везни"
elif (dd > 22) and (dd <= 31):
sign = "Скорпион"
elif mm == 11:
if (dd >= 1) and (dd <= 21):
sign = "Скорпион"
elif (dd > 21) and (dd <= 30):
sign = "Стрелец"
elif mm == 12:
if (dd >= 1) and (dd <= 21):
sign = "Стрелец"
elif (dd > 21) and (dd <= 31):
sign = "Козирог"
return sign
print sign
# Държа да отбележа, че за мен (като за астроном :) ) е много по-елегантно да използвам и годината като променлива (т.е. да въвеждам dd,mm,yyyy) и да превръщам цялата дата в Юлиански ден (или по-скоро в ден от годината). Така си спестявам хилядата иф-а за отбелязка на месеца и дните, а имам само ограничителни интервали за JD и кода става доста по-елегантен {по мое мнение} :) Струва ми се, че така зададено, решението няма как да не е малко тромаво.. Това разбира се го казвам с най-добри чувства, такива задачи и преди съм правила и специално за работата с дати е по-лесно с юлиански дни :)
До довечера!

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

Янина обнови решението на 04.03.2013 15:05 (преди около 11 години)

+#-*- coding: iso-8859-5 -*-
+
+def what_is_my_sign(dd,mm):
+ if mm == 1:
+ if (dd >= 1) and (dd <= 19):
+ sign = "Козирог"
+ elif (dd > 19) and (dd <= 31):
+ sign = "Водолей"
+
+ elif mm == 2:
+ if (dd >= 1) and (dd <= 18):
+ sign = "Водолей"
+ elif (dd > 18) and (dd <= 29):
+ sign = "Риби"
+
+ elif mm == 3:
+ if (dd >= 1) and (dd <= 20):
+ sign = "Риби"
+ elif (dd > 20) and (dd <= 31):
+ sign = "Овен"
+
+ elif mm == 4:
+ if (dd >= 1) and (dd <= 20):
+ sign = "Овен"
+ elif (dd > 20) and (dd <= 30):
+ sign = "Телец"
+
+ elif mm == 5:
+ if (dd >= 1) and (dd <= 20):
+ sign = "Телец"
+ elif (dd > 20) and (dd <= 31):
+ sign = "Близнаци"
+
+ elif mm == 6:
+ if (dd >= 1) and (dd <= 20):
+ sign = "Близнаци"
+ elif (dd > 20) and (dd <= 30):
+ sign = "Рак"
+
+ elif mm == 7:
+ if (dd >= 1) and (dd <= 21):
+ sign = "Рак"
+ elif (dd > 21) and (dd <= 31):
+ sign = "Лъв"
+
+ elif mm == 8:
+ if (dd >= 1) and (dd <= 22):
+ sign = "Лъв"
+ elif (dd > 22) and (dd <= 31):
+ sign = "Дева"
+
+ elif mm == 9:
+ if (dd >= 1) and (dd <= 22):
+ sign = "Дева"
+ elif (dd > 22) and (dd <= 30):
+ sign = "Везни"
+
+ elif mm == 10:
+ if (dd >= 1) and (dd <= 22):
+ sign = "Везни"
+ elif (dd > 22) and (dd <= 31):
+ sign = "Скорпион"
+
+ elif mm == 11:
+ if (dd >= 1) and (dd <= 21):
+ sign = "Скорпион"
+ elif (dd > 21) and (dd <= 30):
+ sign = "Стрелец"
+
+ elif mm == 12:
+ if (dd >= 1) and (dd <= 21):
+ sign = "Стрелец"
+ elif (dd > 21) and (dd <= 31):
+ sign = "Козирог"
+
+ return sign
+ print sign
+
+
+# Държа да отбележа, че за мен (като за астроном :) ) е много по-елегантно да използвам и годината като променлива (т.е. да въвеждам dd,mm,yyyy) и да превръщам цялата дата в Юлиански ден (или по-скоро в ден от годината). Така си спестявам хилядата иф-а за отбелязка на месеца и дните, а имам само ограничителни интервали за JD и кода става доста по-елегантен {по мое мнение} :) Струва ми се, че така зададено, решението няма как да не е малко тромаво.. Това разбира се го казвам с най-добри чувства, такива задачи и преди съм правила и специално за работата с дати е по-лесно с юлиански дни :)
+
+До довечера!

Благодаря ти за коментара, но моля те коментирай и последния ред, иначе ще фейлнат всички автоматизирани тестове :) Така и така, докато си на тях, е добре да ги разбиеш на няколко реда, че се четат трудно.

Критиката я приемам. Но целта ни беше да ви накараме да се завъртите с колекциите в езика. Тъжно е, че не си го направила.

#-*- coding: iso-8859-5 -*- - Това пък защо? :dizzy_face: