Решение на Хороскоп от Иван Боршуков

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

Към профила на Иван Боршуков

Резултати

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

Код

def what_is_my_sign(day, month):
signs = {(120, 219): "Водолей", (219, 321): "Риби",
(321, 421): "Овен", (421, 521): "Телец",
(521, 621): "Близнаци", (621, 722): "Рак",
(722, 823): "Лъв", (823, 923): "Дева",
(923, 1023): "Везни", (1023, 1122): "Скорпион",
(1122, 1222): "Стрелец", (101, 120): "Козирог",
(1222, 1232): "Козирог"}
num = int("{month}{day:02d}".format(month=month, day=day))
for key in signs:
if num in range(key[0], key[1]):
return signs[key]

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

...............
----------------------------------------------------------------------
Ran 15 tests in 0.002s

OK

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

Иван обнови решението на 01.03.2013 11:07 (преди около 11 години)

+def what_is_my_sign(day, month):
+ signs = {(120, 219) : "Водолей", (219, 321) : "Риби",
+ (321, 421) : "Овен", (421, 521) : "Телец",
+ (521, 621) : "Близнаци", (621, 722) : "Рак",
+ (722, 823) : "Лъв", (823, 923) : "Дева",
+ (923, 1023) : "Везни", (1023, 1122) : "Скорпион",
+ (1122, 1222) : "Стрелец", (101, 120) : "Козирог",
+ (1222, 1232) : "Козирог"}
+ result = int("{0}{1}".format(month, "{0}".format(day).zfill(2)))
+ for key in signs.keys():
+ if result in range(key[0], key[1]):
+ return signs[key]
  • Използвай key: value вместо key : vale.
  • result всъщност не е резултатът на функцията. Сигурен съм, че можеш да намериш по-добро име за тази променлива.
  • for key in signs е същото като for key in signs.keys()
  • Това изглежда твърде сложно за целите ти: int("{0}{1}".format(month, "{0}".format(day).zfill(2)))

Иван обнови решението на 01.03.2013 11:39 (преди около 11 години)

def what_is_my_sign(day, month):
- signs = {(120, 219) : "Водолей", (219, 321) : "Риби",
- (321, 421) : "Овен", (421, 521) : "Телец",
+ signs = {(120, 219): "Водолей", (219, 321): "Риби",
- (521, 621) : "Близнаци", (621, 722) : "Рак",
+ (321, 421): "Овен", (421, 521): "Телец",
- (722, 823) : "Лъв", (823, 923) : "Дева",
+ (521, 621): "Близнаци", (621, 722): "Рак",
- (923, 1023) : "Везни", (1023, 1122) : "Скорпион",
+ (722, 823): "Лъв", (823, 923): "Дева",
- (1122, 1222) : "Стрелец", (101, 120) : "Козирог",
+ (923, 1023): "Везни", (1023, 1122): "Скорпион",
- (1222, 1232) : "Козирог"}
+ (1122, 1222): "Стрелец", (101, 120): "Козирог",
- result = int("{0}{1}".format(month, "{0}".format(day).zfill(2)))
+ (1222, 1232): "Козирог"}
- for key in signs.keys():
+ num = int("{month}{day:02d}".format(month=month, day=day))
- if result in range(key[0], key[1]):
+ for key in signs:
- return signs[key]
+ if num in range(key[0], key[1]):
+ return signs[key]