Николай обнови решението на 08.03.2015 12:09 (преди над 9 години)
+def interpret_western_sign(day, month):
+ if((day > 20 and month == 3) or (day < 21 and month == 4)):
+ return "aries"
+ if((day > 20 and month == 4) or (day < 21 and month == 5)):
+ return "taurus"
+ if((day > 20 and month == 5) or (day < 21 and month == 6)):
+ return "gemini"
+ if((day > 20 and month == 6) or (day < 23 and month == 7)):
+ return "cancer"
+ if((day > 22 and month == 7) or (day < 23 and month == 8)):
+ return "leo"
+ if((day > 22 and month == 8) or (day < 23 and month == 9)):
+ return "virgo"
+ if((day > 22 and month == 9) or (day < 23 and month == 10)):
+ return "libra"
+ if((day > 22 and month == 10) or (day < 22 and month == 11)):
+ return "scorpio"
+ if((day > 21 and month == 11) or (day < 22 and month == 12)):
+ return "sagittarius"
+ if((day > 21 and month == 12) or (day < 21 and month == 1)):
+ return "capricorn"
+ if((day > 20 and month == 1) or (day < 19 and month == 2)):
+ return "aquarius"
+ if((day > 18 and month == 2) or (day < 21 and month == 3)):
+ return "pisces"
+
+
+def interpret_chinese_sign(year):
+ chinese_signs = {1900: "rat", 1901: "ox", 1902: "tiger",
+ 1903: "rabbit", 1904: "dragon", 1905: "snake",
+ 1906: "horse", 1907: "sheep", 1908: "monkey",
+ 1909: "rooster", 1910: "dog", 1911: "pig"}
+ index = 1900 + (year - 1900) % 12
+ return chinese_signs[index]
+
+
+def interpret_both_signs(day, month, year):
+ western_sign = interpret_western_sign(day, month)
+ chinese_sign = interpret_chinese_sign(year)
+ return (western_sign, chinese_sign)
Е, виж колко хубаво си ползвал речник в interpret_chinese_sign
. Айде да се пробваш да измислиш нещо по-елегантно и за interpret_western_sign
. С тези if
else
имаш късмет че зодиите са само 12. Ами ако бяха 1200?