#python #string
Вопрос:
Для многократно повторяющейся символьной строки мой код работает нормально, но вот сценарий, в котором я даю строку «aaabba», ожидаемый результат-a3b2a1, но я получаю только a3b2. Пожалуйста, сообщите мне, что не так в коде.
st = "aaabba"
n = len(st)
i = 0
while i < n - 1:
count = 1
while (i < n-1 and st[i] == st[i 1]):
count = 1
i = 1
i = 1
print(st[i - 1] str(count), end="")
Комментарии:
1. Ваш отступ не имеет смысла. Пожалуйста, исправьте.
2.
while (i < n-1 ...)
— как вы рассчитываете добраться до последнего символа, если он не такой же, как предыдущий?
Ответ №1:
Проблема в первом цикле while. Код должен быть:
st = "aaabba"
n = len(st)
i = 0
while i < n:
count = 1
while (i < n-1 and st[i] == st[i 1]):
count = 1
i = 1
i = 1
print(st[i - 1] str(count), end="")
Комментарии:
1. Благодарю вас за то, что указали на это, да, это должно было быть либо я <= n-1, либо просто я