Петър обнови решението на 28.02.2013 18:28 (преди над 11 години)
Самото решение ми харесва. Но...
- на места има странна индентация.
- в слагането на
dict_
пред всеки речник няма смисъл.
Разгледай и PEP8. Той препоръчва ALL_CAPS за константи.
EEEEEEEEEEEEEEE ====================================================================== ERROR: test_aquaris (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 38, in test_aquaris self.assertEqual(solution.what_is_my_sign(2, 2), 'Водолей') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_aries (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 8, in test_aries self.assertEqual(solution.what_is_my_sign(1, 4), 'Овен') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_cancer (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 17, in test_cancer self.assertEqual(solution.what_is_my_sign(8, 7), 'Рак') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_capricorn (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 35, in test_capricorn self.assertEqual(solution.what_is_my_sign(1, 1), 'Козирог') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_gemini (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 14, in test_gemini self.assertEqual(solution.what_is_my_sign(16, 6), 'Близнаци') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_leo (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 20, in test_leo self.assertEqual(solution.what_is_my_sign(1, 8), 'Лъв') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_libra (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 26, in test_libra self.assertEqual(solution.what_is_my_sign(5, 10), 'Везни') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_living_on_the_edge (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 44, in test_living_on_the_edge self.assertEqual(solution.what_is_my_sign(20, 6), 'Близнаци') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_named_arguments (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 50, in test_named_arguments self.assertEqual(solution.what_is_my_sign(month=6, day=20), 'Близнаци') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_pisces (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 41, in test_pisces self.assertEqual(solution.what_is_my_sign(9, 3), 'Риби') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_sagittarius (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 32, in test_sagittarius self.assertEqual(solution.what_is_my_sign(11, 12), 'Стрелец') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_scorpio (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 29, in test_scorpio self.assertEqual(solution.what_is_my_sign(7, 11), 'Скорпион') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_sludge (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 47, in test_sludge self.assertEqual(solution.what_is_my_sign(21, 5), 'Близнаци') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 31, in what_is_my_sign return sings[month] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_taurus (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 11, in test_taurus self.assertEqual(solution.what_is_my_sign(6, 5), 'Телец') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ====================================================================== ERROR: test_virgo (test.HoroscopeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/d20130307-16279-1pknu7h/test.py", line 23, in test_virgo self.assertEqual(solution.what_is_my_sign(2, 9), 'Дева') File "/tmp/d20130307-16279-1pknu7h/solution.py", line 29, in what_is_my_sign return sings[month-1] NameError: global name 'sings' is not defined ---------------------------------------------------------------------- Ran 15 tests in 0.005s FAILED (errors=15)
Самото решение ми харесва. Но...
dict_
пред всеки речник няма смисъл.Разгледай и PEP8. Той препоръчва ALL_CAPS за константи.
Благодаря за feedback-a. Бих искал да знам какво точно имаш предвид под "странна индентация", защото не те разбирам. Благодаря предварително.
Идентацията ти изобщо не е странна. Ако поставиш първия елемент в речник на следващия ред (след {), трябва да идентираш само едно ниво навътре. В противен случай подравняваш точно както ти си направил. Аз бих предпочел първия вариант, вероятно и Йоан, но това е изцяло въпрос на предпочитания.
Имам забележка обаче за разстоянията около двуеточията. Пишат се key: value
, а не key : value
.
Обърни внимание на това, което ти каза Йоан:
Разгледай и PEP8. Той препоръчва ALL_CAPS за константи.
Двуеточията ги броих при индентацията. Иначе - има един return
, който не е баш на място.
Благодаря ви.
Последно - понеже коментарът ми беше малко криптичен - като говорех за константи, имах предвид, че можеш да ги изкараш извън функцията. Само тогава би имало смисъл от SCREAMING_SNAKE_CASE (както го нарича Кирил).
Ясно, не съм бил разбрал, мерси. Смятам че е по-добре да са във функцията, защото тези речници трудно биха имали друга използваемост, и няма смисъл да са глоблани.