Я получаю сообщение об ошибке, если ввод содержит только символ без прикрепленной к нему цифры.Например, если пользователь должен был ввести «a2bc», вывод должен быть «aabc».Я должен встретить формат длины пробега.Функция декодирования работает, если ее "a2b1c1".Единственный персонаж не узнает ничего из этого.Я играл с условиями и отладчиком.Кажется, я не могу соответствовать формату длины строки.
Код, показанный ниже, был моей попыткой.Я прокомментировал блок, в котором пытался исправить свои проблемы.
def decode(user_input):
if not user_input:
return ""
else:
char = user_input[0]
num = user_input[1]
if num.isdigit():
result = char * int(num)
# elif num.isalpha():
# # this should skip to the next two characters
else:
result = char * int(num)
return result + decode(user_input[2:])
test1 = decode("a2b3c1")
test2 = decode("a2b3c")
print(test1)
print(test2)
(Примечание: вывод для test2 должен быть "aabbbc"
)
Большое спасибо.