Решение на Астрологични забави от Емил Великов

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

Към профила на Емил Великов

Резултати

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

Код

WESTERN_SIGN = {1: (21, "capricorn", "aquarius"),
2: (19, "aquarius", "pisces"),
3: (21, "pisces", "aries"),
4: (21, "aries", "taurus"),
5: (21, "taurus", "gemini"),
6: (21, "gemini", "cancer"),
7: (23, "cancer", "leo"),
8: (23, "leo", "virgo"),
9: (23, "virgo", "libra"),
10: (23, "libra", "scorpio"),
11: (22, "scorpio", "sagittarius"),
12: (22, "sagittarius", "capricorn")}
CHINESE_SIGN = {4: "rat",
5: "ox",
6: "tiger",
7: "rabbit",
8: "dragon",
9: "snake",
10: "horse",
11: "sheep",
0: "monkey",
1: "rooster",
2: "dog",
3: "pig"}
def interpret_western_sign(day, month):
if day < WESTERN_SIGN[month][0]:
return WESTERN_SIGN[month][1]
else:
return WESTERN_SIGN[month][2]
def interpret_chinese_sign(year):
return CHINESE_SIGN[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

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

Емил обнови решението на 05.03.2015 15:57 (преди около 9 години)

+western_sign_dict = {1: [21, "capricorn", "aquarius"],
+ 2: [19, "aquarius", "pisces"],
+ 3: [21, "pisces", "aries"],
+ 4: [21, "aries", "taurus"],
+ 5: [21, "taurus", "gemini"],
+ 6: [21, "gemini", "cancer"],
+ 7: [23, "cancer", "leo"],
+ 8: [23, "leo", "virgo"],
+ 9: [23, "virgo", "libra"],
+ 10: [23, "libra", "scorpio"],
+ 11: [22, "scorpio", "sagittarius"],
+ 12: [22, "sagittarius", "capricorn"]}
+
+chinese_sign_dict = {4: "rat",
+ 5: "ox",
+ 6: "tiger",
+ 7: "rabbit",
+ 8: "dragon",
+ 9: "snake",
+ 10: "horse",
+ 11: "sheep",
+ 0: "monkey",
+ 1: "rooster",
+ 2: "dog",
+ 3: "pig"}
+
+
+def interpret_western_sign(day, month):
+ if day < western_sign_dict[month][0]:
+ return western_sign_dict[month][1]
+ else:
+ return western_sign_dict[month][2]
+
+
+def interpret_chinese_sign(year):
+ return chinese_sign_dict[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)

Емил обнови решението на 06.03.2015 07:55 (преди около 9 години)

-western_sign_dict = {1: [21, "capricorn", "aquarius"],
- 2: [19, "aquarius", "pisces"],
- 3: [21, "pisces", "aries"],
- 4: [21, "aries", "taurus"],
- 5: [21, "taurus", "gemini"],
- 6: [21, "gemini", "cancer"],
- 7: [23, "cancer", "leo"],
- 8: [23, "leo", "virgo"],
- 9: [23, "virgo", "libra"],
- 10: [23, "libra", "scorpio"],
- 11: [22, "scorpio", "sagittarius"],
- 12: [22, "sagittarius", "capricorn"]}
+western_sign_dict = {1: (21, "capricorn", "aquarius"),
+ 2: (19, "aquarius", "pisces"),
+ 3: (21, "pisces", "aries"),
+ 4: (21, "aries", "taurus"),
+ 5: (21, "taurus", "gemini"),
+ 6: (21, "gemini", "cancer"),
+ 7: (23, "cancer", "leo"),
+ 8: (23, "leo", "virgo"),
+ 9: (23, "virgo", "libra"),
+ 10: (23, "libra", "scorpio"),
+ 11: (22, "scorpio", "sagittarius"),
+ 12: (22, "sagittarius", "capricorn")}
chinese_sign_dict = {4: "rat",
5: "ox",
6: "tiger",
7: "rabbit",
8: "dragon",
9: "snake",
10: "horse",
11: "sheep",
0: "monkey",
1: "rooster",
2: "dog",
3: "pig"}
def interpret_western_sign(day, month):
if day < western_sign_dict[month][0]:
return western_sign_dict[month][1]
else:
return western_sign_dict[month][2]
def interpret_chinese_sign(year):
return chinese_sign_dict[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)

Ако разглеждаме western_sign_dict и chinese_sign_dict като константи, конвенцията изисква имената им да бъдат с главни букви. Също така ибягвай да указваш типа на стойността, към която сочи което и да е име. Очевидно е, че това са речници :)

Емил обнови решението на 06.03.2015 15:17 (преди около 9 години)

-western_sign_dict = {1: (21, "capricorn", "aquarius"),
- 2: (19, "aquarius", "pisces"),
- 3: (21, "pisces", "aries"),
- 4: (21, "aries", "taurus"),
- 5: (21, "taurus", "gemini"),
- 6: (21, "gemini", "cancer"),
- 7: (23, "cancer", "leo"),
- 8: (23, "leo", "virgo"),
- 9: (23, "virgo", "libra"),
- 10: (23, "libra", "scorpio"),
- 11: (22, "scorpio", "sagittarius"),
- 12: (22, "sagittarius", "capricorn")}
+WESTERN_SIGN = {1: (21, "capricorn", "aquarius"),
+ 2: (19, "aquarius", "pisces"),
+ 3: (21, "pisces", "aries"),
+ 4: (21, "aries", "taurus"),
+ 5: (21, "taurus", "gemini"),
+ 6: (21, "gemini", "cancer"),
+ 7: (23, "cancer", "leo"),
+ 8: (23, "leo", "virgo"),
+ 9: (23, "virgo", "libra"),
+ 10: (23, "libra", "scorpio"),
+ 11: (22, "scorpio", "sagittarius"),
+ 12: (22, "sagittarius", "capricorn")}
-chinese_sign_dict = {4: "rat",
- 5: "ox",
- 6: "tiger",
- 7: "rabbit",
- 8: "dragon",
- 9: "snake",
- 10: "horse",
- 11: "sheep",
- 0: "monkey",
- 1: "rooster",
- 2: "dog",
- 3: "pig"}
+CHINESE_SIGN = {4: "rat",
+ 5: "ox",
+ 6: "tiger",
+ 7: "rabbit",
+ 8: "dragon",
+ 9: "snake",
+ 10: "horse",
+ 11: "sheep",
+ 0: "monkey",
+ 1: "rooster",
+ 2: "dog",
+ 3: "pig"}
def interpret_western_sign(day, month):
- if day < western_sign_dict[month][0]:
- return western_sign_dict[month][1]
+ if day < WESTERN_SIGN[month][0]:
+ return WESTERN_SIGN[month][1]
else:
- return western_sign_dict[month][2]
+ return WESTERN_SIGN[month][2]
def interpret_chinese_sign(year):
- return chinese_sign_dict[year % 12]
+ return CHINESE_SIGN[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)