Елена обнови решението на 09.03.2015 20:16 (преди над 9 години)
+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'}
+
+
+def interpret_western_sign(day, month):
+ if (month == 3):
+ return 'aries' if day >= 21 else 'pisces'
+ elif (month == 4):
+ return 'taurus' if day >= 21 else 'aries'
+ elif (month == 5):
+ return 'gemini' if day >= 21 else 'taurus'
+ elif (month == 6):
+ return 'cancer' if day >= 21 else 'gemini'
+ elif (month == 7):
+ return'leo' if day >= 23 else 'cancer'
+ elif (month == 8):
+ return 'virgo' if day >= 23 else 'leo'
+ elif (month == 9):
+ return 'libra' if day >= 23 else 'virgo'
+ elif (month == 10):
+ return 'scorpio' if day >= 23 else 'libra'
+ elif (month == 11):
+ return 'sagittarius' if day >= 22 else 'scorpio'
+ elif (month == 12):
+ return 'capricorn' if day >= 22 else 'sagittarius'
+ elif (month == 1):
+ return 'aquarius' if day >= 21 else 'capricorn'
+ elif (month == 2):
+ return 'pisces' if day >= 19 else 'aquarius'
+
+
+def interpret_chinese_sign(year):
+ return chinese_signs[(year - 4) % 12]
+
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
- константите са в SCREAM_SNAKE_CASE
- пробвай да ползваш някоя структура от данни и в
interpret_western_sign
. Ако зодиите бяха повече, пак ли щеше да пишешif
-ове? - речник с ключове последователни цели числа, не ти ли напомня на нещо друго, което си е индексирано по default?
- като изключим за константите, си отличник по PEP8 :)