Декодирование с использованием строки в качестве кода в Python - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь создать программу, которая сжимает строки, такие как AAABBBBCAAAaaDD -> A3B4CA3a2D2, а затем распаковывает ее.Первая функция уже работает, но вторая, похоже, не видит первый элемент строки:

taba = list(string)
decompressed = ''

for i in range(2, len(taba)):
    k = 0
    if str(taba[i]).isnumeric():
        while k < int(taba[i]):
            decompressed += taba[i-1]
            k += 1

С input = AAABBBBCAAAaaDD, string = A3B4CA3a2D2 и с этой декомпрессированной строкой возвращает BBBBCAAAaaDD.Что может привести к тому, что цикл не будет содержать таба [2-1]?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Ну, ваш цикл for явно пропускает первые две буквы.

for i in range(2, len(taba)):

Вам нужно начать цикл с 0.

0 голосов
/ 22 ноября 2018

Уверен, это потому, что вы индексируете от 2 вместо 0?Какова была причина этого?Чего вы пытались достичь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...