Милка обнови решението на 07.03.2015 10:26 (преди над 9 години)
+def interpret_chinese_sign(year):
+ chinese_signs = {
+ 0: "rat",
+ 1: "ox",
+ 2: "tiger",
+ 3: "rabbit",
+ 4: "dragon",
+ 5: "snake",
+ 6: "horse",
+ 7: "sheep",
+ 8: "monkey",
+ 9: "rooster",
+ 10: "dog",
+ 11: "pig"
+ }
+ key = abs(year - 1900) % 12
+ return chinese_signs[key]
+
+
+def interpret_western_sign(day, month):
+ western_signs = {
+ 1: (21, "capricorn", "aquarius"),
+ 2: (19, "aquarius", "pisces"),
+ 3: (21, "pisces", "aries"),
+ 4: (21, "aries", "taurus"),
+ 5: (21, "taurus", "gemini"),
+ 6: (21, "gemini", "cancer"),
+ 7: (23, "cancer", "leo"),
+ 8: (23, "leo", "virgo"),
+ 9: (23, "virgo", "libra"),
+ 10: (23, "libra", "scorpio"),
+ 11: (22, "scorpio", "sagittarius"),
+ 12: (22, "sagittarius", "capricorn")
+ }
+ sign = western_signs[month]
+ border_date = sign[0]
+ return sign[1] if day < border_date else sign[2]
+
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
Тия речници с ключове последователни цели числа не ти ли напомнят силно на един друг вид структура, която също има вградена имплементация в python? :)