Йордан обнови решението на 08.03.2015 15:20 (преди около 10 години)
▸ Покажи разликите+def interpret_western_sign(day, month):
+ if month == 1:
+ if day >= 21:
+ return "aquarius"
+ else:
+ return "capricorn"
+ elif month == 2:
+ if day >= 19:
+ return "pisces"
+ else:
+ return "aquarius"
+ elif month == 3:
+ if day >= 21:
+ return "aries"
+ else:
+ return "pisces"
+ elif month == 4:
+ if day >= 21:
+ return "taurus"
+ else:
+ return "aries"
+ elif month == 5:
+ if day >= 21:
+ return "gemini"
+ else:
+ return "taurus"
+ elif month == 6:
+ if day >= 21:
+ return "cancer"
+ else:
+ return "gemini"
+ elif month == 7:
+ if day >= 23:
+ return "leo"
+ else:
+ return "cancer"
+ elif month == 8:
+ if day >= 23:
+ return "virgo"
+ else:
+ return "leo"
+ elif month == 9:
+ if day >= 23:
+ return "libra"
+ else:
+ return "virgo"
+ elif month == 10:
+ if day >= 23:
+ return "scorpio"
+ else:
+ return "libra"
+ elif month == 11:
+ if day >= 22:
+ return "sagittarius"
+ else:
+ return "scorpio"
+ elif month == 12:
+ if day >= 22:
+ return "capricorn"
+ else:
+ return "sagittarius"
+
+
+def interpret_chinese_sign(year):
+ year_mod = (year - 1900) % 12
+ if year_mod == 0:
+ return "rat"
+ elif year_mod == 1:
+ return "ox"
+ elif year_mod == 2:
+ return "tiger"
+ elif year_mod == 3:
+ return "rabbit"
+ elif year_mod == 4:
+ return "dragon"
+ elif year_mod == 5:
+ return "snake"
+ elif year_mod == 6:
+ return "horse"
+ elif year_mod == 7:
+ return "sheep"
+ elif year_mod == 8:
+ return "monkey"
+ elif year_mod == 9:
+ return "rooster"
+ elif year_mod == 10:
+ return "dog"
+ elif year_mod == 11:
+ return "pig"
+
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
Определено не те мързи! Но тези if
-ове! Можеш да го напишеш по много по - елегатен и лесен за четене начин. Я сега си представи, че зодиите във всеки календар бяха по 1000. Така ли щеше да го направиш?