Кристиан обнови решението на 09.03.2015 20:17 (преди над 9 години)
+western_signs = ['aries', 'taurus', 'gemini', 'cancer',
+ 'leo', 'virgo', 'libra', 'scorpio',
+ 'sagittarius', 'capricorn', 'aquarius', 'pisces']
+
+chinese_signs = ['monkey', 'rooster', 'dog', 'pig',
+ 'rat', 'ox', 'tiger', 'rabbit',
+ 'dragon', 'snake', 'horse', 'sheep']
+
+first_month = 3
+total_months = 12
+
+western_signs_boundries = [21, 21, 21, 21,
+ 23, 23, 23, 23,
+ 22, 22, 21, 19]
+
+def interpret_western_sign(day, month):
+ month_index = (month - first_month) % total_months
+ if day >= western_signs_boundries[month_index]:
+ return western_signs[month_index]
+ else:
+ return western_signs[(month_index - 1) % total_months]
+
+def interpret_chinese_sign(year):
+ return chinese_signs[year % total_months]
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
само няколко забележки по PEP8
- константите трябва да са в SCREAM_SNAKE_CASE
- оставяй 2 празни реда между глобално дефинираните функции link
Ред 27 може да го напишеш просто
return interpret_western_sign(day, month), interpret_chinese_sign(year)