Решение на Астрологични забави от Стилиян Стоянов

Обратно към всички решения

Към профила на Стилиян Стоянов

Резултати

  • 10 точки от тестове
  • 0 бонус точки
  • 10 точки общо
  • 6 успешни тест(а)
  • 0 неуспешни тест(а)

Код

WESTERN_SIGNS = [(120, 'capricorn'), (218, 'aquarius'), (320, 'pisces'),
(420, 'aries'), (520, 'taurus'), (620, 'gemini'),
(722, 'cancer'), (822, 'leo'), (922, 'virgo'),
(1022, 'libra'), (1121, 'scorpio'), (1221, 'sagittarius'),
(1231, 'capricorn')]
CHINESE_SIGNS = ['monkey', 'rooster', 'dog', 'pig', 'rat', 'ox', 'tiger',
'rabbit', 'dragon', 'snake', 'horse', 'sheep']
def interpret_western_sign(day, month):
sign_key = month*100 + day
for sign in WESTERN_SIGNS:
if sign_key < sign[0]:
return sign[1]
def interpret_chinese_sign(year):
return CHINESE_SIGNS[year % 12]
def interpret_both_signs(day, month, year):
western_sign = interpret_western_sign(day, month)
chinese_sign = interpret_chinese_sign(year)
return (western_sign, chinese_sign)

Лог от изпълнението

......
----------------------------------------------------------------------
Ran 6 tests in 0.006s

OK

История (2 версии и 2 коментара)

Стилиян обнови решението на 10.03.2015 14:00 (преди над 9 години)

+western_signs = [(120, 'capricorn'), (218, 'aquarius'), (320, 'pisces'),
+ (420, 'aries'), (520, 'taurus'), (620, 'gemini'),
+ (722, 'cancer'), (822, 'leo'), (922, 'virgo'),
+ (1022, 'libra'), (1121, 'scorpio'), (1221, 'sagittarius'),
+ (1231, 'capricorn')]
+
+
+chinese_sings = ['monkey', 'rooster', 'dog', 'pig', 'rat', 'ox', 'tiger',
+ 'rabbit', 'dragon', 'snake', 'horse', 'sheep']
+
+
+def interpret_western_sign(day, month):
+ sign_key = month*100 + day
+ for sign in western_signs:
+ if sign_key < sign[0]:
+ return sign[1]
+
+
+def interpret_chinese_sign(year):
+ index = year % 12
+ return chinese_sings[index]
+
+
+def interpret_both_signs(day, month, year):
+ western_sign = interpret_western_sign(day, month)
+ chinese_sign = interpret_chinese_sign(year)
+ return (western_sign, chinese_sign)

Стилиян обнови решението на 11.03.2015 11:04 (преди над 9 години)

-western_signs = [(120, 'capricorn'), (218, 'aquarius'), (320, 'pisces'),
+WESTERN_SIGNS = [(120, 'capricorn'), (218, 'aquarius'), (320, 'pisces'),
(420, 'aries'), (520, 'taurus'), (620, 'gemini'),
(722, 'cancer'), (822, 'leo'), (922, 'virgo'),
(1022, 'libra'), (1121, 'scorpio'), (1221, 'sagittarius'),
(1231, 'capricorn')]
-chinese_sings = ['monkey', 'rooster', 'dog', 'pig', 'rat', 'ox', 'tiger',
+CHINESE_SIGNS = ['monkey', 'rooster', 'dog', 'pig', 'rat', 'ox', 'tiger',
'rabbit', 'dragon', 'snake', 'horse', 'sheep']
def interpret_western_sign(day, month):
sign_key = month*100 + day
- for sign in western_signs:
+ for sign in WESTERN_SIGNS:
if sign_key < sign[0]:
return sign[1]
def interpret_chinese_sign(year):
- index = year % 12
- return chinese_sings[index]
+ return CHINESE_SIGNS[year % 12]
def interpret_both_signs(day, month, year):
western_sign = interpret_western_sign(day, month)
chinese_sign = interpret_chinese_sign(year)
return (western_sign, chinese_sign)