Божидар обнови решението на 10.03.2015 21:42 (преди над 9 години)
+chinese_sign = {
+ str(1900 % 12): "rat",
+ str(1901 % 12): "ox",
+ str(1902 % 12): "tiger",
+ str(1903 % 12): "rabbit",
+ str(1904 % 12): "dragon",
+ str(1905 % 12): "snake",
+ str(1906 % 12): "horse",
+ str(1907 % 12): "sheep",
+ str(1908 % 12): "monkey",
+ str(1909 % 12): "rooster",
+ str(1910 % 12): "dog",
+ str(1911 % 12): "pig",
+}
+
+
+western_sign = {
+ "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"),
+}
+
+
+def interpret_chinese_sign(year):
+ return chinese_sign[str(year % 12)]
+
+
+def interpret_western_sign(day, month):
+ return (western_sign[str(month)][1]
+ if western_sign[str(month)][0] > day
+ else western_sign[str(month)][2])
+
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
- Защо обръщаш всички числа към стринг?
- За китайските зодии не е нужно да ползваш речник, можеш да минеш и с по-проста колекция, ако видиш какви са точните стойности на ключовете :)