Калоян обнови решението на 09.03.2015 11:50 (преди над 9 години)
+def interpret_chinese_sign(year):
+ partialDiv = year % 12
+ zodiacStrings = ["monkey", "rooster", "dog", "pig", "rat", "ox",
+ "tiger", "rabbit", "dragon",
+ "snake", "horse", "sheep"]
+ return zodiacStrings[partialDiv]
+
+
+def interpret_western_sign(day, month):
+ months = [["capricorn", 20, "aquarius"], ["aquarius", 18, "pisces"],
+ ["pisces", 20, "aries"], ["aries", 20, "taurus"],
+ ["taurus", 20, "gemini"], ["gemini", 20, "cancer"],
+ ["cancer", 22, "leo"], ["leo", 22, "virgo"],
+ ["virgo", 22, "libra"], ["libra", 22, "scorpio"],
+ ["scorpio", 21, "sagittarius"], ["sagittarius", 21, "capricorn"]]
+ if day <= months[month-1][1]:
+ return months[month-1][0]
+ else:
+ return months[month-1][2]
+
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))
В Python, имената на променливите се пишат в snake_case. PartialDiv #-> partial_div
Това име partialDiv
много ненаред ми звучи а и сигурен ли си че държиш да присвояваш year % 12
експлицитно на някаква променлива?
Добро е решението.
Конвенцията за константи в Питон е името на променливата да е с ГЛАВНИ_БУКВИ и те да са в началото на файла. Много рядко има смисъл константата да е част от дефиницията на функцията ти.
Освен това е по-подходящо те да са tuple
, а не list
.