Йордан обнови решението на 09.03.2015 04:57 (преди над 9 години)
+def interpret_western_sign(day, month):
+ if month == 1:
+ if day < 21:
+ return 'capricorn'
+ else:
+ return 'aquarius'
+
+ if month == 2:
+ if day < 20:
+ return 'aquarius'
+ else:
+ return 'pisces'
+
+ if month == 3:
+ if day < 20:
+ return 'pisces'
+ else:
+ return 'aries'
+
+ if month == 4:
+ if day < 21:
+ return 'aries'
+ else:
+ return 'taurus'
+
+ if month == 5:
+ if day < 21:
+ return 'taurus'
+ else:
+ return 'gemini'
+
+ if month == 6:
+ if day < 21:
+ return 'gemini'
+ else:
+ return 'cancer'
+
+ if month == 7:
+ if day < 23:
+ return 'cancer'
+ else:
+ return 'leo'
+
+ if month == 8:
+ if day < 23:
+ return 'leo'
+ else:
+ return 'virgo'
+
+ if month == 9:
+ if day < 23:
+ return 'virgo'
+ else:
+ return 'libra'
+
+ if month == 10:
+ if day < 23:
+ return 'libra'
+ else:
+ return 'scorpio'
+
+ if month == 11:
+ if day < 22:
+ return 'scorpio'
+ else:
+ return 'sagittarius'
+
+ if month == 12:
+ if day < 22:
+ return 'sagittarius'
+ else:
+ return 'capricorn'
+
+
+def interpret_chinese_sign(year):
+ counter = 0
+ initialYear = 1900
+
+ while year != initialYear:
+ if year > initialYear:
+ initialYear += 12
+
+ if initialYear == year:
+ break
+ elif initialYear > year:
+ counter += 1
+ initialYear = 1900 + counter
+
+ elif year < initialYear:
+ initialYear -= 12
+
+ if initialYear == year:
+ break
+ elif initialYear < year:
+ counter += 1
+ initialYear = 1900 + counter
+
+ if counter == 0:
+ return "rat"
+ elif counter == 1:
+ return "ox"
+ elif counter == 2:
+ return "tiger"
+ elif counter == 3:
+ return "rabit"
+ elif counter == 4:
+ return "dragon"
+ elif counter == 5:
+ return "snake"
+ elif counter == 6:
+ return "horse"
+ elif counter == 7:
+ return "sheep"
+ elif counter == 8:
+ return "monkey"
+ elif counter == 9:
+ return "rooster"
+ elif counter == 10:
+ return "dog"
+ elif counter == 11:
+ return "pig"
+
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
+
+print(interpret_both_signs(14, 4, 1900))
- Имаш typo: пише се 'rabbit' :)
- Всичките тия if/else блокове дали не могат да се разкарат и да се използва нещо далеч по-просто и лесно за четене?
Предполагам трябва да е нещо от сорта на dict ,но в момента поне не се сещам ,ако да речем ключа е месеца как да извеждам правилната зодия.