Георги обнови решението на 04.03.2013 11:18 (преди над 11 години)
+signs = dict()
+signs["Водолей"] = [(range(20,32),1),(range(1,19),2)]
+signs["Риби"] = [(range(19,29),2),(range(1,21),3)]
+signs["Овен"] = [(range(21,32),3),(range(1,21),4)]
+signs["Телец"] = [(range(21,31),4),(range(1,21),5)]
+signs["Близнаци"] = [(range(21,32),5),(range(1,21),6)]
+signs["Рак"] = [(range(21,31),6),(range(1,22),7)]
+signs["Лъв"] = [(range(22,32),7),(range(1,23),8)]
+signs["Дева"] = [(range(23,32),8),(range(1,23),9)]
+signs["Везни"] = [(range(23,31),9),(range(1,23),10)]
+signs["Скорпион"] = [(range(23,32),10),(range(1,22),11)]
+signs["Стрелец"] = [(range(22,31),11),(range(1,22),12)]
+signs["Козирог"] = [(range(22,32),12),(range(1,20),12)]
+
+def what_is_my_sign(day,month):
+ for sign in signs.keys():
+ current = signs[sign]
+ if current[0][1] == month and day in list(current[0][0]):
+ return sign
+ if current[1][1] == month and day in list(current[1][0]):
+ return sign
- Не инициализирай речниците като в Java. Показахме ви литералния синтаксис за целта.
- Защо е нужно да кастваш
range
-а към list в дватаif
-а? -
for sign in signs.keys()
иfor sign in signs
правят едно и също. Нямаш нужда отkeys
в този случай.