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

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

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

Резултати

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

Код

SIGNS = {(tuple(range(21, 32)), 3): "aries",
(tuple(range(1, 21)), 4): "aries",
(tuple(range(21, 31)), 4): "taurus",
(tuple(range(1, 21)), 5): "taurus",
(tuple(range(21, 32)), 5): "gemini",
(tuple(range(1, 21)), 6): "gemini",
(tuple(range(21, 31)), 6): "cancer",
(tuple(range(1, 22)), 7): "cancer",
(tuple(range(22, 32)), 7): "leo",
(tuple(range(1, 23)), 8): "leo",
(tuple(range(23, 32)), 8): "virgo",
(tuple(range(1, 23)), 9): "virgo",
(tuple(range(23, 31)), 9): "libra",
(tuple(range(1, 23)), 10): "libra",
(tuple(range(23, 32)), 10): "scorpio",
(tuple(range(1, 22)), 11): "scorpio",
(tuple(range(22, 31)), 11): "sagittarius",
(tuple(range(1, 22)), 12): "sagittarius",
(tuple(range(22, 32)), 12): "capricorn",
(tuple(range(1, 20)), 1): "capricorn",
(tuple(range(20, 32)), 1): "aquarius",
(tuple(range(1, 19)), 2): "aquarius",
(tuple(range(19, 30)), 2): "pisces",
(tuple(range(1, 21)), 3): "pisces"}
CHINESE_SIGNS = ("monkey", "rooster", "dog", "pig", "rat", "ox",
"tiger", "rabbit", "dragon", "snake", "horse", "sheep")
def interpret_western_sign(day, month):
for key in SIGNS.keys():
if month == key[1] and day in key[0]:
return SIGNS[key]
def interpret_chinese_sign(year):
return CHINESE_SIGNS[year % 12]
def interpret_both_signs(day, month, year):
return interpret_western_sign(day, month), interpret_chinese_sign(year)

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

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

OK

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

София обнови решението на 11.03.2015 15:33 (преди около 9 години)

+signs = {(tuple(range(21, 32)), 3): "aries",
+ (tuple(range(1, 21)), 4): "aries",
+ (tuple(range(21, 31)), 4): "taurus",
+ (tuple(range(1, 21)), 5): "taurus",
+ (tuple(range(21, 32)), 5): "gemini",
+ (tuple(range(1, 21)), 6): "gemini",
+ (tuple(range(21, 31)), 6): "cancer",
+ (tuple(range(1, 22)), 7): "cancer",
+ (tuple(range(22, 32)), 7): "leo",
+ (tuple(range(1, 23)), 8): "leo",
+ (tuple(range(23, 32)), 8): "virgo",
+ (tuple(range(1, 23)), 9): "virgo",
+ (tuple(range(23, 31)), 9): "libra",
+ (tuple(range(1, 23)), 10): "libra",
+ (tuple(range(23, 32)), 10): "scorpio",
+ (tuple(range(1, 22)), 11): "scorpio",
+ (tuple(range(22, 31)), 11): "sagittarius",
+ (tuple(range(1, 22)), 12): "sagittarius",
+ (tuple(range(22, 32)), 12): "capricorn",
+ (tuple(range(1, 20)), 1): "capricorn",
+ (tuple(range(20, 32)), 1): "aquarius",
+ (tuple(range(1, 19)), 2): "aquarius",
+ (tuple(range(19, 30)), 2): "pisces",
+ (tuple(range(1, 21)), 3): "pisces"}
+
+ch_signs = [(1900, "rat"), (1901, "ox"), (1902, "tiger"), (1903, "rabbit"),
+ (1904, "dragon"), (1905, "snake"), (1906, "horse"),
+ (1907, "sheep"), (1908, "monkey"), (1909, "rooster"),
+ (1910, "dog"), (1911, "pig")]
+
+
+def interpret_western_sign(day, month):
+ for key in signs.keys():
+ if month == key[1] and day in key[0]:
+ return signs[key]
+
+
+def interpret_chinese_sign(year):
+ index = (year - ch_signs[0][0]) % 12
+ return ch_signs[index][1]
+
+
+def interpret_both_signs(day, month, year):
+ return interpret_western_sign(day, month), interpret_chinese_sign(year)

София обнови решението на 11.03.2015 16:07 (преди около 9 години)

-signs = {(tuple(range(21, 32)), 3): "aries",
+SIGNS = {(tuple(range(21, 32)), 3): "aries",
(tuple(range(1, 21)), 4): "aries",
(tuple(range(21, 31)), 4): "taurus",
(tuple(range(1, 21)), 5): "taurus",
(tuple(range(21, 32)), 5): "gemini",
(tuple(range(1, 21)), 6): "gemini",
(tuple(range(21, 31)), 6): "cancer",
(tuple(range(1, 22)), 7): "cancer",
(tuple(range(22, 32)), 7): "leo",
(tuple(range(1, 23)), 8): "leo",
(tuple(range(23, 32)), 8): "virgo",
(tuple(range(1, 23)), 9): "virgo",
(tuple(range(23, 31)), 9): "libra",
(tuple(range(1, 23)), 10): "libra",
(tuple(range(23, 32)), 10): "scorpio",
(tuple(range(1, 22)), 11): "scorpio",
(tuple(range(22, 31)), 11): "sagittarius",
(tuple(range(1, 22)), 12): "sagittarius",
(tuple(range(22, 32)), 12): "capricorn",
(tuple(range(1, 20)), 1): "capricorn",
(tuple(range(20, 32)), 1): "aquarius",
(tuple(range(1, 19)), 2): "aquarius",
(tuple(range(19, 30)), 2): "pisces",
(tuple(range(1, 21)), 3): "pisces"}
-ch_signs = [(1900, "rat"), (1901, "ox"), (1902, "tiger"), (1903, "rabbit"),
- (1904, "dragon"), (1905, "snake"), (1906, "horse"),
- (1907, "sheep"), (1908, "monkey"), (1909, "rooster"),
- (1910, "dog"), (1911, "pig")]
+CHINESE_SIGNS = ("monkey", "rooster", "dog", "pig", "rat", "ox",
+ "tiger", "rabbit", "dragon", "snake", "horse", "sheep")
def interpret_western_sign(day, month):
- for key in signs.keys():
+ for key in SIGNS.keys():
if month == key[1] and day in key[0]:
- return signs[key]
+ return SIGNS[key]
def interpret_chinese_sign(year):
- index = (year - ch_signs[0][0]) % 12
- return ch_signs[index][1]
+ return CHINESE_SIGNS[year % 12]
def interpret_both_signs(day, month, year):
return interpret_western_sign(day, month), interpret_chinese_sign(year)

София обнови решението на 11.03.2015 16:59 (преди около 9 години)

SIGNS = {(tuple(range(21, 32)), 3): "aries",
(tuple(range(1, 21)), 4): "aries",
(tuple(range(21, 31)), 4): "taurus",
(tuple(range(1, 21)), 5): "taurus",
(tuple(range(21, 32)), 5): "gemini",
(tuple(range(1, 21)), 6): "gemini",
(tuple(range(21, 31)), 6): "cancer",
(tuple(range(1, 22)), 7): "cancer",
(tuple(range(22, 32)), 7): "leo",
(tuple(range(1, 23)), 8): "leo",
(tuple(range(23, 32)), 8): "virgo",
(tuple(range(1, 23)), 9): "virgo",
(tuple(range(23, 31)), 9): "libra",
(tuple(range(1, 23)), 10): "libra",
(tuple(range(23, 32)), 10): "scorpio",
(tuple(range(1, 22)), 11): "scorpio",
(tuple(range(22, 31)), 11): "sagittarius",
(tuple(range(1, 22)), 12): "sagittarius",
(tuple(range(22, 32)), 12): "capricorn",
(tuple(range(1, 20)), 1): "capricorn",
(tuple(range(20, 32)), 1): "aquarius",
(tuple(range(1, 19)), 2): "aquarius",
(tuple(range(19, 30)), 2): "pisces",
(tuple(range(1, 21)), 3): "pisces"}
CHINESE_SIGNS = ("monkey", "rooster", "dog", "pig", "rat", "ox",
- "tiger", "rabbit", "dragon", "snake", "horse", "sheep")
+ "tiger", "rabbit", "dragon", "snake", "horse", "sheep")
def interpret_western_sign(day, month):
for key in SIGNS.keys():
if month == key[1] and day in key[0]:
return SIGNS[key]
def interpret_chinese_sign(year):
return CHINESE_SIGNS[year % 12]
def interpret_both_signs(day, month, year):
return interpret_western_sign(day, month), interpret_chinese_sign(year)