Виктория обнови решението на 01.03.2013 18:47 (преди над 11 години)
+def what_is_my_sign(day, month):
+ zodiac = {
+ range(321, 421): 'Овен',
+ range(421, 521): 'Телец',
+ range(521, 621): 'Близнаци',
+ range(621, 722): 'Рак',
+ range(722, 823): 'Лъв',
+ range(823, 923): 'Дева',
+ range(923, 1023): 'Везни',
+ range(1023, 1122): 'Скорпион',
+ range(1122, 1222): 'Стрелец',
+ range(101, 120): 'Козирог',
+ range(1222, 1232): 'Козирог',
+ range(120, 219): 'Водолей',
+ range(219, 321): 'Риби',
+ }
+ for date, sign in zodiac.items():
+ if(100 * month + day in date):
+ return sign
+ return False
Добро решение. Имам само три забелжки:
-
zodiac
бих го изнесъл извън функцията като константа (SCREAMING_SNAKE_CASE), с правилен indent. - Скобите в if-а не са ти нужни
- Няма нужда да връщаш False, ако не намери месец. Едно на ръка, че подразбиране ще върне None, а пък така или иначе не те интересува какво ще се случи ако не намери зодия. Очакваш валиден input.