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

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

Към профила на Ирина Христова

Резултати

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

Код

def interpret_western_sign(day, month):
signs = ['capricorn', 'aquarius', 'pisces', 'aries', 'taurus', 'gemini',
'cancer', 'leo', 'virgo', 'libra', 'scorpio', 'sagittarius',
'capricorn']
months = [20, 18, 20, 20, 20, 20, 22, 22, 22, 22, 21, 21]
if day <= months[month - 1]:
return signs[month - 1]
else:
return signs[month]
def interpret_chinese_sign(year):
signs = ['monkey', 'rooster', 'dog', 'pig', 'rat', 'ox',
'tiger', 'rabbit', 'dragon', 'snake', 'horse', 'sheep']
sign = year % 12
return signs[sign]
def interpret_both_signs(day, month, year):
western = interpret_western_sign(day, month)
chinese = interpret_chinese_sign(year)
return (western, chinese)

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

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

OK

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

Ирина обнови решението на 07.03.2015 23:09 (преди над 9 години)

+def interpret_western_sign(day, month):
+
+ signs = ['capricorn', 'aquarius', 'pisces', 'aries', 'taurus', 'gemini',
+ 'cancer', 'leo', 'virgo', 'libra', 'scorpio', 'sagittarius',
+ 'capricorn']
+
+ months = {1: [20, 21], 2: [18, 19], 3: [20, 21], 4: [20, 21], 5: [20, 21],
+ 6: [20, 21], 7: [22, 23], 8: [22, 23], 9: [22, 23], 10: [22, 23],
+ 11: [21, 22], 12: [21, 22]}
+
+ if day <= months[month][0]:
+ return signs[month - 1]
+ else:
+ return signs[month]
+
+
+def interpret_chinese_sign(year):
+
+ signs = ['rat', 'ox', 'tiger', 'rabbit', 'dragon', 'snake',
+ 'horse', 'sheep', 'monkey', 'rooster', 'dog', 'pig']
+
+ years = [1900, 1901, 1902, 1903, 1904, 1905,
+ 1906, 1907, 1908, 1909, 1910, 1911]
+
+ if year < years[0]:
+ while True:
+ if year in years:
+ sign = year % 100
+ break
+ year += 12
+ else:
+ while True:
+ if year in years:
+ sign = year % 100
+ break
+ year -= 12
+
+ return signs[sign]
+
+
+def interpret_both_signs(day, month, year):
+
+ western = interpret_western_sign(day, month)
+ chinese = interpret_chinese_sign(year)
+
+ return (western, chinese)

Хм, цикъла ти в interpret_chinese_sign е много бавен начин да намериш годината. Я пробвай да изпълниш interpret_chinese_sign(42 ** 100). Това си е съвсем реална година в бъдещето. Колко време работи функцията ти? Часове, дни? За да те насоча - замисли се за деление с остатък.

Ирина обнови решението на 09.03.2015 00:15 (преди над 9 години)

def interpret_western_sign(day, month):
signs = ['capricorn', 'aquarius', 'pisces', 'aries', 'taurus', 'gemini',
'cancer', 'leo', 'virgo', 'libra', 'scorpio', 'sagittarius',
'capricorn']
months = {1: [20, 21], 2: [18, 19], 3: [20, 21], 4: [20, 21], 5: [20, 21],
6: [20, 21], 7: [22, 23], 8: [22, 23], 9: [22, 23], 10: [22, 23],
11: [21, 22], 12: [21, 22]}
if day <= months[month][0]:
return signs[month - 1]
else:
return signs[month]
def interpret_chinese_sign(year):
- signs = ['rat', 'ox', 'tiger', 'rabbit', 'dragon', 'snake',
- 'horse', 'sheep', 'monkey', 'rooster', 'dog', 'pig']
+ signs = ['rooster', 'dog', 'pig', 'rat', 'ox', 'tiger',
+ 'rabbit', 'dragon', 'snake', 'horse', 'sheep', 'monkey']
- years = [1900, 1901, 1902, 1903, 1904, 1905,
- 1906, 1907, 1908, 1909, 1910, 1911]
-
- if year < years[0]:
- while True:
- if year in years:
- sign = year % 100
- break
- year += 12
- else:
- while True:
- if year in years:
- sign = year % 100
- break
- year -= 12
-
+ sign = year % 12 - 1
return signs[sign]
def interpret_both_signs(day, month, year):
western = interpret_western_sign(day, month)
chinese = interpret_chinese_sign(year)
return (western, chinese)

Ирина обнови решението на 09.03.2015 18:28 (преди над 9 години)

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

Ирина обнови решението на 10.03.2015 07:23 (преди над 9 години)

def interpret_western_sign(day, month):
signs = ['capricorn', 'aquarius', 'pisces', 'aries', 'taurus', 'gemini',
'cancer', 'leo', 'virgo', 'libra', 'scorpio', 'sagittarius',
'capricorn']
months = [20, 18, 20, 20, 20, 20, 22, 22, 22, 22, 21, 21]
if day <= months[month - 1]:
return signs[month - 1]
else:
return signs[month]
def interpret_chinese_sign(year):
- signs = ['rooster', 'dog', 'pig', 'rat', 'ox', 'tiger',
- 'rabbit', 'dragon', 'snake', 'horse', 'sheep', 'monkey']
+ signs = ['monkey', 'rooster', 'dog', 'pig', 'rat', 'ox',
+ 'tiger', 'rabbit', 'dragon', 'snake', 'horse', 'sheep']
- sign = year % 12 - 1
+ sign = year % 12
return signs[sign]
def interpret_both_signs(day, month, year):
western = interpret_western_sign(day, month)
chinese = interpret_chinese_sign(year)
return (western, chinese)