Решение на Астрологични забави от Радослав Комитов

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

Към профила на Радослав Комитов

Резултати

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

Код

day = input("day:")
month = input("month:")
year = input("year:")
day = int(day)
month = int(month)
year = int(year)
def interpret_western_sign(day,month):
western_signs = ["capricorn", "aquaris", "pisces", "aries", "taurus", "gemini", "cancer", "leo", "virgo", "libra", "scorpio", "sagittarius"]
sign = int(month - 1)
if (month == 1 and day > 20):
sign += 1
elif (month == 2 and day > 19):
sign += 1
elif (month == 3 and day > 20):
sign += 1
elif (month == 4 and day > 20):
sign += 1
elif (month == 5 and day > 20):
sign += 1
elif (month == 6 and day > 20):
sign += 1
elif (month == 7 and day > 22):
sign += 1
elif (month == 8 and day > 22):
sign += 1
elif (month == 9 and day > 22):
sign += 1
elif (month == 10 and day > 22):
sign += 1
elif (month == 11 and day > 21):
sign += 1
elif (month == 12 and day > 21):
sign += 1
if sign >= 12:
sign -= 12
return western_signs[sign]
def interpret_chinese_sign(year):
chinese_signs = ["monkey", "rooster", "dog", "pig", "rat", "ox", "tiger", "rabbit", "dragon", "snake", "horse", "sheep"]
remainder = int(year % 12)
return chinese_signs[remainder]
def interpret_both_signs(day, month, year):
tuple_signs = (interpret_western_sign(day,month), interpret_chinese_sign(year))
return tuple_signs
print(interpret_both_signs(day,month,year))

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

day:EOF when reading a line
  File "lib/language/python/runner.py", line 102, in main
    test = imp.load_source('test', test_module)
  File "/home/pyfmi/Python-3.4.2/Lib/imp.py", line 171, in load_source
    module = methods.load()
  File "<frozen importlib._bootstrap>", line 1220, in load
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/tmp/d20150312-24164-gjppei/test.py", line 2, in <module>
    import solution
  File "/tmp/d20150312-24164-gjppei/solution.py", line 1, in <module>
    day = input("day:")

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

Радослав обнови решението на 11.03.2015 14:04 (преди над 9 години)

+day = input("day:")
+month = input("month:")
+year = input("year:")
+
+day = int(day)
+month = int(month)
+year = int(year)
+
+
+def interpret_western_sign(day,month):
+ western_signs = ["capricorn", "aquaris", "pisces", "aries", "taurus", "gemini", "cancer", "leo", "virgo", "libra", "scorpio", "sagittarius"]
+ sign = int(month - 1)
+ if (month == 1 and day > 20):
+ sign += 1
+ elif (month == 2 and day > 19):
+ sign += 1
+ elif (month == 3 and day > 20):
+ sign += 1
+ elif (month == 4 and day > 20):
+ sign += 1
+ elif (month == 5 and day > 20):
+ sign += 1
+ elif (month == 6 and day > 20):
+ sign += 1
+ elif (month == 7 and day > 22):
+ sign += 1
+ elif (month == 8 and day > 22):
+ sign += 1
+ elif (month == 9 and day > 22):
+ sign += 1
+ elif (month == 10 and day > 22):
+ sign += 1
+ elif (month == 11 and day > 21):
+ sign += 1
+ elif (month == 12 and day > 21):
+ sign += 1
+ if sign >= 12:
+ sign -= 12
+
+ return western_signs[sign]
+
+
+
+
+def interpret_chinese_sign(year):
+ chinese_signs = ["monkey", "rooster", "dog", "pig", "rat", "ox", "tiger", "rabbit", "dragon", "snake", "horse", "sheep"]
+ remainder = int(year % 12)
+
+ return chinese_signs[remainder]
+
+
+
+def interpret_both_signs(day, month, year):
+ tuple_signs = (interpret_western_sign(day,month), interpret_chinese_sign(year))
+
+ return tuple_signs
+
+
+
+
+print(interpret_both_signs(day,month,year))
  • Не очакваш вход от потребителя. Тези input-и ти чупят решението, а ние пускаме автоматизирани тестове.
  • Не се ли сещаш за решение по-добро от 12 if-а?
  • Трябва да оставяш само по 2 празни реда между функциите
  • pep8 също казва и да нямаме редове по-дълги от 80 символа
  • remainder не ти трябва
  • Преобразуванията на типовете ти са ненужни
  • Няма смисъл от print-овете в решението ти