Решение на Телефонна любов от Алекс Божинов
Резултати
- 9 точки от тестове
- 0 бонус точки
- 9 точки общо
- 35 успешни тест(а)
- 2 неуспешни тест(а)
Код
Лог от изпълнението
.......EE............................ ====================================================================== ERROR: test_random_mixed_case (test.TestAnglesToNums) Test with a random mixed input. ---------------------------------------------------------------------- Traceback (most recent call last): File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread raise result IndexError: list index out of range ====================================================================== ERROR: test_round_angle_direction (test.TestAnglesToNums) Test with an angle requiring explicit rounding to floor. ---------------------------------------------------------------------- Traceback (most recent call last): File "/storage/deedee/data/rails/pyfmi-2022/releases/20221020151654/lib/language/python/runner.py", line 67, in thread raise result IndexError: list index out of range ---------------------------------------------------------------------- Ran 37 tests in 0.369s FAILED (errors=2)
История (5 версии и 6 коментара)
Алекс обнови решението на 30.10.2022 16:21 (преди над 2 години)
Можеш просто:
return len(phone_buttons[clicked_button]) == iterations_count + 1
което поставя под въпрос нуждата от тази функция.
Да, по този начин кодът, който я използва е по-лесен за възприемане, но пък е израз от само един ред.
Въпрос на вкус :)
Мисля си, че този случай може да стане част от while
-а.
Ако напишеш if
с обратната логика, можеш директно да break
-неш, за да си спестиш флага и if-else
проверката.
Предполагам, че можеш да постигнеш същия резултат, като използваш остатък при деление на 360. Става въпрос както за тази, така и запредишната функция.
Не е нужно, а и дори не е пропоръчително, да обхождаш речника.
Можеш просто да вземеш елемент от него:
phone_dial[angle]
или phone_dial.get(angle)
Съветвам те да се опиташ да рефакторираш nums_to_text
. Няма да лъжа - трудно ми е да проследя логиката. Оставих коментари по отделните парчета код от функцията, които видях на пръв поглед, но ми се струва прекалено усложнено.
С останалото си се справил добре.
Предполагам, че можеш да постигнеш същия резултат, като използваш остатък при деление на 360. Става въпрос както за тази, така и запредишната функция.