Петър обнови решението на 28.02.2013 18:28 (преди над 12 години)
Самото решение ми харесва. Но...
- на места има странна индентация.
- в слагането на
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 (както го нарича Кирил).
Ясно, не съм бил разбрал, мерси. Смятам че е по-добре да са във функцията, защото тези речници трудно биха имали друга използваемост, и няма смисъл да са глоблани.