Георги обнови решението на 08.03.2015 19:14 (преди над 9 години)
+def interpret_western_sign(day, month):
+ if month == 1:
+ if day >= 21:
+ return "aquarius"
+ return "capricorn"
+ if month == 2:
+ if day < 19:
+ return "aquarius"
+ return "pisces"
+ if month == 3:
+ if day <= 20:
+ return "pisces"
+ return "aries"
+ if month == 4:
+ if day < 21:
+ return "aries"
+ return "taurus"
+ if month == 5:
+ if day < 21:
+ return "taurus"
+ return "gemini"
+ if month == 6:
+ if day < 21:
+ return "gemini"
+ return "cancer"
+ if month == 7:
+ if day < 23:
+ return "cancer"
+ return "leo"
+ if month == 8:
+ if day < 23:
+ return "leo"
+ return "virgo"
+ if month == 9:
+ if day < 23:
+ return "virgo"
+ return "libra"
+ if month == 10:
+ if day < 23:
+ return "libra"
+ return "scorpio"
+ if month == 11:
+ if day < 22:
+ return "scorpio"
+ return "sagittarius"
+ if month == 12:
+ if day < 22:
+ return "sagittarius"
+ return "capricorn"
+
+
+def interpret_chinese_sign(year):
+ modulo = year % 1900 % 12
+ if modulo == 0:
+ return "rat"
+ if modulo == 1:
+ return "ox"
+ if modulo == 2:
+ return "tiger"
+ if modulo == 3:
+ return "rabbit"
+ if modulo == 4:
+ return "dragon"
+ if modulo == 5:
+ return "snake"
+ if modulo == 6:
+ return "horse"
+ if modulo == 7:
+ return "sheep"
+ if modulo == 8:
+ return "monkey"
+ if modulo == 9:
+ return "rooster"
+ if modulo == 10:
+ return "dog"
+ if modulo == 11:
+ return "pig"
+
+
+def interpret_both_signs(day, month, year):
+ tup = (interpret_western_sign(day, month), interpret_chinese_sign(year))
+ return tup
Не мислиш ли, че if
-овете са малко повече? И малко сложни за разбиране? Ако зодиите бяха няколко хиляди и в месец имаше 2-3 зодии, щеше ли да го напишеш пак така?