Patrice T
Та же проблема, что и с Код Railfence ничего не печатает Python[^]
Вы пытаетесь использовать символы после конца строки.
Ваш код будет разбиваться каждый раз, когда у вас есть нечетное количество символов, потому что цикл использует символы 2 на 2, но вы не проверяете, есть ли по крайней мере 2 оставшихся символа.
ваш цикл должен проверить, что есть по крайней мере 2 доступных символа.
Отладчик показал бы вам, где и когда возникает проблема.
Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик-Википедия, свободная энциклопедия[^]
27.3. ПДБ — отладчика Python — питон 3.6.1 документации[^]
Отладка в Python | Python покоряет Вселенную[^]
pdb-интерактивный отладчик-Python модуль недели[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.