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

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

Към профила на Спас Методиев

Резултати

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

Код

borders = {1: 20, 2: 18, 3: 20, 4: 20, 5: 20, 6: 20,
7: 22, 8: 22, 9: 22, 10: 22, 11: 21, 12: 21}
western = {
(1, 'small'): 'capricorn', (1, 'big'): 'aquarius',
(2, 'small'): 'aquarius', (2, 'big'): 'pisces',
(3, 'small'): 'pisces', (3, 'big'): 'aries',
(4, 'small'): 'aries', (4, 'big'): 'taurus',
(5, 'small'): 'taurus', (5, 'big'): 'gemini',
(6, 'small'): 'gemini', (6, 'big'): 'cancer',
(7, 'small'): 'cancer', (7, 'big'): 'leo',
(8, 'small'): 'leo', (8, 'big'): 'virgo',
(9, 'small'): 'virgo', (9, 'big'): 'libra',
(10, 'small'): 'libra', (10, 'big'): 'scorpio',
(11, 'small'): 'scorpio', (11, 'big'): 'sagittarius',
(12, 'small'): 'sagittarius', (12, 'big'): 'capricorn'
}
chinese = ['rat', 'ox', 'tiger', 'rabbit', 'dragon', 'snake',
'horse', 'sheep', 'monkey', 'rooster', 'dog', 'pig']
def interpret_western_sign(day, month):
if day <= borders[month]:
day_size = 'small'
else:
day_size = 'big'
return western[(month, day_size)]
def interpret_chinese_sign(year):
dif = year - 1900
pos = dif % 12
return chinese[pos]
def interpret_both_signs(day, month, year):
return (interpret_western_sign(day, month), interpret_chinese_sign(year))

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

......
----------------------------------------------------------------------
Ran 6 tests in 0.007s

OK

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

Спас обнови решението на 10.03.2015 21:49 (преди над 9 години)

+borders = {1: 20, 2: 18, 3: 20, 4: 20, 5: 20, 6: 20,
+ 7: 22, 8: 22, 9: 22, 10: 22, 11: 21, 12: 21}
+
+western = {
+ (1, 'small'): 'capricorn', (1, 'big'): 'aquarius',
+ (2, 'small'): 'aquarius', (2, 'big'): 'pisces',
+ (3, 'small'): 'pisces', (3, 'big'): 'aries',
+ (4, 'small'): 'aries', (4, 'big'): 'taurus',
+ (5, 'small'): 'taurus', (5, 'big'): 'gemini',
+ (6, 'small'): 'gemini', (6, 'big'): 'cancer',
+ (7, 'small'): 'cancer', (7, 'big'): 'leo',
+ (8, 'small'): 'leo', (8, 'big'): 'virgo',
+ (9, 'small'): 'virgo', (9, 'big'): 'libra',
+ (10, 'small'): 'libra', (10, 'big'): 'scorpio',
+ (11, 'small'): 'scorpio', (11, 'big'): 'sagittarius',
+ (12, 'small'): 'sagittarius', (12, 'big'): 'capricorn'
+}
+
+chinese = ['rat', 'ox', 'tiger', 'rabbit', 'dragon', 'snake',
+ 'horse', 'sheep', 'monkey', 'rooster', 'dog', 'pig']
+
+
+def interpret_western_sign(day, month):
+ if day <= borders[month]:
+ day_size = 'small'
+ else:
+ day_size = 'big'
+
+ return western[(month, day_size)]
+
+
+def interpret_chinese_sign(year):
+ dif = year - 1900
+ pos = dif % 12
+ return chinese[pos]
+
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))