Решение на Астрологични забави от Христо Петков

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

Към профила на Христо Петков

Резултати

  • 3 точки от тестове
  • 0 бонус точки
  • 3 точки общо
  • 2 успешни тест(а)
  • 4 неуспешни тест(а)

Код

CHINESE_SIGNS = ["rat", "ox", "tiger", "rabbit", "dragon", "snake",
"horse", "sheep", "monkey", "rooster", "dog", "pig"]
WESTERN_SIGNS = [[21, "capricorn", "aquarius"],
[19, "aquarius", "pisces"],
[21, "pisces", "aries"],
[21, "aries", "taurus"],
[21, "taurus", "gemini"],
[21, "gemini", "cancer"],
[23, "cancer", "leo"],
[23, "leo", "virgo"],
[23, "virgo", "libra"],
[23, "libra", "scorpio"],
[22, "scorpio", "sagittarius"],
[22, "sagittarius", "capricorn"]]
def interpret_chinese_sign(year):
year -= 1900
year = year % 12
year = chinese_sign[year]
return year
def interpret_western_sign(day, month):
if (day < WESTERN_SIGNS[month - 1][0]):
return WESTERN_SIGNS[month - 1][1]
else:
return WESTERN_SIGNS[month - 1][2]
def interpret_both_signs(day, month, year):
return (interpret_western_sign(day, month), interpret_chinese_sign(year))

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

▸ Покажи лога

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

Христо обнови решението на 11.03.2015 11:29 (преди около 10 години)

▸ Покажи разликите
+CHINESE_SIGNS = ["rat", "ox", "tiger", "rabbit", "dragon", "snake",
+ "horse", "sheep", "monkey", "rooster", "dog", "pig"]
+
+WESTERN_SIGNS = [[21, "capricorn", "aquarius"],
+ [19, "aquarius", "pisces"],
+ [21, "pisces", "aries"],
+ [21, "aries", "taurus"],
+ [21, "taurus", "gemini"],
+ [21, "gemini", "cancer"],
+ [23, "cancer", "leo"],
+ [23, "leo", "virgo"],
+ [23, "virgo", "libra"],
+ [23, "libra", "scorpio"],
+ [22, "scorpio", "sagittarius"],
+ [22, "sagittarius", "capricorn"]]
+
+def interpret_chinese_sign(year):
+ year -= 1900
+ year = year % 12
+ year = chinese_sign[year]
+ return year
+
+def interpret_western_sign(day, month):
+ if (day < WESTERN_SIGNS[month - 1][0]):
+ return WESTERN_SIGNS[month - 1][1]
+ else:
+ return WESTERN_SIGNS[month - 1][2]
+
+def interpret_both_signs(day, month, year):
+ return (interpret_western_sign(day, month),interpret_chinese_sign(year))

Христо обнови решението на 11.03.2015 11:32 (преди около 10 години)

▸ Покажи разликите
CHINESE_SIGNS = ["rat", "ox", "tiger", "rabbit", "dragon", "snake",
"horse", "sheep", "monkey", "rooster", "dog", "pig"]
WESTERN_SIGNS = [[21, "capricorn", "aquarius"],
[19, "aquarius", "pisces"],
[21, "pisces", "aries"],
[21, "aries", "taurus"],
[21, "taurus", "gemini"],
[21, "gemini", "cancer"],
[23, "cancer", "leo"],
[23, "leo", "virgo"],
[23, "virgo", "libra"],
[23, "libra", "scorpio"],
[22, "scorpio", "sagittarius"],
[22, "sagittarius", "capricorn"]]
def interpret_chinese_sign(year):
year -= 1900
year = year % 12
year = chinese_sign[year]
return year
def interpret_western_sign(day, month):
if (day < WESTERN_SIGNS[month - 1][0]):
return WESTERN_SIGNS[month - 1][1]
else:
- return WESTERN_SIGNS[month - 1][2]
+ return WESTERN_SIGNS[month - 1][2]
def interpret_both_signs(day, month, year):
return (interpret_western_sign(day, month),interpret_chinese_sign(year))

Явно си refactor-вал нещо в последния момент, имаш едно грешно име, което чупи много неща. Пускай си примерните тестове преди да качваш решение, те са точно с цел да хващате такива грешки лесно.

Христо обнови решението на 11.03.2015 13:04 (преди около 10 години)

▸ Покажи разликите
CHINESE_SIGNS = ["rat", "ox", "tiger", "rabbit", "dragon", "snake",
"horse", "sheep", "monkey", "rooster", "dog", "pig"]
WESTERN_SIGNS = [[21, "capricorn", "aquarius"],
[19, "aquarius", "pisces"],
[21, "pisces", "aries"],
[21, "aries", "taurus"],
[21, "taurus", "gemini"],
[21, "gemini", "cancer"],
[23, "cancer", "leo"],
[23, "leo", "virgo"],
[23, "virgo", "libra"],
[23, "libra", "scorpio"],
[22, "scorpio", "sagittarius"],
[22, "sagittarius", "capricorn"]]
def interpret_chinese_sign(year):
year -= 1900
year = year % 12
- year = chinese_sign[year]
+ year = CHINESE_SIGNS[year]
return year
def interpret_western_sign(day, month):
if (day < WESTERN_SIGNS[month - 1][0]):
return WESTERN_SIGNS[month - 1][1]
else:
return WESTERN_SIGNS[month - 1][2]
def interpret_both_signs(day, month, year):
- return (interpret_western_sign(day, month),interpret_chinese_sign(year))
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))

Христо обнови решението на 11.03.2015 15:41 (преди около 10 години)

▸ Покажи разликите
CHINESE_SIGNS = ["rat", "ox", "tiger", "rabbit", "dragon", "snake",
"horse", "sheep", "monkey", "rooster", "dog", "pig"]
WESTERN_SIGNS = [[21, "capricorn", "aquarius"],
[19, "aquarius", "pisces"],
[21, "pisces", "aries"],
[21, "aries", "taurus"],
[21, "taurus", "gemini"],
[21, "gemini", "cancer"],
[23, "cancer", "leo"],
[23, "leo", "virgo"],
[23, "virgo", "libra"],
[23, "libra", "scorpio"],
[22, "scorpio", "sagittarius"],
[22, "sagittarius", "capricorn"]]
+
def interpret_chinese_sign(year):
year -= 1900
year = year % 12
- year = CHINESE_SIGNS[year]
+ year = chinese_sign[year]
return year
+
def interpret_western_sign(day, month):
if (day < WESTERN_SIGNS[month - 1][0]):
return WESTERN_SIGNS[month - 1][1]
else:
- return WESTERN_SIGNS[month - 1][2]
-
+ return WESTERN_SIGNS[month - 1][2]
+
+
def interpret_both_signs(day, month, year):
- return (interpret_western_sign(day, month), interpret_chinese_sign(year))
+ return (interpret_western_sign(day, month), interpret_chinese_sign(year))

Предпоследното ми качване беше вярното, но като съм прекарал стара версия през PEP8 и после съм качил стара версия... Много тъпо. В 11.03.2015 13:04 беше вярната версия а после съм хванал стар код когато съм го тествал за стандарти.