Добромир обнови решението на 07.03.2015 13:44 (преди над 9 години)
+def interpret_western_sign(day, month):
+ signs = {
+ 'aquarius' : range(121, 220),
+ 'pisces' : range(220, 321),
+ 'aries' : range(321, 421),
+ 'taurus' : range(421, 521),
+ 'gemini' : range(521, 621),
+ 'cancer' : range(621, 723),
+ 'leo' : range(723, 823),
+ 'virgo' : range(823, 923),
+ 'libra' : range(923, 1023),
+ 'scorpio' : range(1023, 1122),
+ 'sagittarius': range(1122, 1222)
+ }
+
+ for sign, dates in signs.items():
+ if (month * 100 + day) in dates:
+ return sign
+ return 'capricorn'
+
+def interpret_chinese_sign(year):
+ signs = [
+ 'rat', 'ox', 'tiger',
+ 'rabbit', 'dragon',
+ 'snake', 'horse',
+ 'sheep', 'monkey',
+ 'rooster', 'dog', 'pig'
+ ]
+
+ return signs[(year - 1900) % 12]
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
Това подраняване на :
-ята в речника не е Python стил. Последния ред на signs
от interpret_western_sign
е по правилна PEP8 конвенция. (1 интервал след двуеточието, без интервал преди него когато сме в dict
). Поправи останалите.
Също така в signs
но този път от interpret_chinese_sign
имаш празни интервали в края на някои редове. Като съвет - премахни ги, още по-добре, нагласи си едитора да ги изчиства автоматично.
Separate top-level functions with two blank lines
Доста ми харесва решението ти.