Решение на Телефонна любов от Велислава Крумова
Обратно към всички решения
Към профила на Велислава Крумова
Резултати
- 7 точки от тестове
- 0 бонус точки
- 7 точки общо
- 26 успешни тест(а)
- 11 неуспешни тест(а)
Код
Лог от изпълнението
....F..F.FE......F..F.E.F.F.FF.......
======================================================================
ERROR: test_empty_input (test.TestIsPhonetastic)
Test with empty 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
ZeroDivisionError: integer division or modulo by zero
======================================================================
ERROR: test_empty_input (test.TestNumsToText)
Test with empty 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
======================================================================
FAIL: test_multiple_angles (test.TestAnglesToNums)
Test with a couple of angles as 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
AssertionError: Lists differ: [1, 6, 1, 2, 1] != [1, 6, 2, 2, 2]
First differing element 2:
1
2
- [1, 6, 1, 2, 1]
+ [1, 6, 2, 2, 2]
======================================================================
FAIL: 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
AssertionError: Lists differ: [5, 1, 1, 1, 2, 4, 9, 1, 7, 9, 8] != [5, 1, 2, 4, 9, 1, 8, 0, 9]
First differing element 2:
1
2
First list contains 2 additional elements.
First extra element 9:
9
- [5, 1, 1, 1, 2, 4, 9, 1, 7, 9, 8]
+ [5, 1, 2, 4, 9, 1, 8, 0, 9]
======================================================================
FAIL: test_round_angle_easy_case (test.TestAnglesToNums)
Test with an angle requiring rounding - easy case.
----------------------------------------------------------------------
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
AssertionError: Lists differ: [2] != [3]
First differing element 0:
2
3
- [2]
+ [3]
======================================================================
FAIL: test_normalizing_for_top_boundary (test.TestNumsToAngles)
Test normalizing when the sum is full circle.
----------------------------------------------------------------------
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
AssertionError: 360 != 0
======================================================================
FAIL: test_all_chars (test.TestNumsToText)
Test for correct mapping of all chars.
----------------------------------------------------------------------
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
AssertionError: 'abcdefghijklmnopqrstuvwxyz' != 'abcdefghijklmnopqrstuvwxyz '
- abcdefghijklmnopqrstuvwxyz
+ abcdefghijklmnopqrstuvwxyz
? +
======================================================================
FAIL: test_multiple_timeouts (test.TestNumsToText)
Test with multiple '-1's next to each other.
----------------------------------------------------------------------
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
AssertionError: 'jopu' != 'jmpt'
- jopu
+ jmpt
======================================================================
FAIL: test_random_mixed_case (test.TestNumsToText)
Test for a random mixed case.
----------------------------------------------------------------------
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
AssertionError: 'fmirulzzz' != 'fmi rulzzz'
- fmirulzzz
+ fmi rulzzz
? +
======================================================================
FAIL: test_spaces_only (test.TestNumsToText)
Test for input of only whitespaces with or without -1.
----------------------------------------------------------------------
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
AssertionError: '' not found in (' ', ' ')
======================================================================
FAIL: test_starting_with_timeout (test.TestNumsToText)
Test with a sequence starting with a -1.
----------------------------------------------------------------------
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
AssertionError: 'm' != 'o'
- m
+ o
----------------------------------------------------------------------
Ran 37 tests in 0.454s
FAILED (failures=9, errors=2)
История (1 версия и 5 коментара)
Велислава обнови решението на 02.11.2022 22:24 (преди над 2 години)
Няма да те лъжа. Доста сложен и дълъг алгоритъм, който ще ми отнеме време да разбера, така че няма да влизам в детайли. При вече отворени решения от останалите колеги, бих те посъветвал да погледнеш някои решения. Има по-лесни начини да се справиш с проблема си.
Ако дефинираш обратен речник (може и динамично с няколко реда код), ще си спестиш тази функция и ще можеш просто да вземеш стойност по ключ.
Тези два цикъла изглеждат еднакви. Ако е така, можеш просто:
сигурно има и по-логичен начин, но този похват поне директно се справя с проблема, че имаш два блока от по 7 реда, които са идентични.
По-добре 'angles'. Избягвай да слагаш типа на променливата в името ѝ.
return angle % len(word_str) == 0
Този 1 ред може да замести твоите 4.