Деян обнови решението на 04.03.2013 00:36 (преди над 11 години)
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+signs=[
+ ('Водолей', ( 1,20),( 2,18)),
+ ('Риби', ( 2,19),( 3,20)),
+ ('Овен', ( 3,21),( 4,20)),
+ ('Телец', ( 4,21),( 5,20)),
+ ('Близнаци',( 5,21),( 6,20)),
+ ('Рак', ( 6,21),( 7,21)),
+ ('Лъв', ( 7,22),( 8,22)),
+ ('Дева', ( 8,23),( 9,22)),
+ ('Везни', ( 9,23),(10,22)),
+ ('Скорпион',(10,23),(11,21)),
+ ('Стрелец', (11,22),(12,21)),
+ ]
+
+def what_is_my_sign(day, month):
+ for sign, start, end in signs:
+ if (month,day)>=start and (month, day)<=end:
+ return sign
+ if (month,day)>=(12,22) or (month,day)<=( 1,19):
+ return 'Козирог'
+ return 'invalid sign'
Няколко забележки:
-
# -*- coding: utf-8 -*-
е излишно в Python 3. - Прочети раздела с whitespace-овете окло запетайки и скоби в PEP 8. На места ги бъркаш
- Това таблично подреждане в речника е ужасен подход в Python. Прочети и за него в PEP 8.
- Не очакваш невалиден input. Няма нужда от последния ред.
-
signs
можеш да го направиш константа, което в Python става като направиш името в SCREAMING_SNAKE_CASE