0
0 комментариев

Кодирование символов осуществляется следующим образом: s = ‘aaaabbсaa’
преобразуется в ‘a4b2с1a2’, то есть группы одинаковых символов исходной
строки заменяются на этот символ и количество его повторений в этой
позиции строки. Напишите программу, которая считывает строку, кодирует
её предложенным алгоритмом и выводит закодированную последовательность
на стандартный вывод. Кодирование должно учитывать регистр символов.

Этот код работает

s = input()
l=len(s)
cnt=1
for i in range(l):
if i==(l-1):
print(s[i]+str(cnt),end=»)
else:
if s[i]==s[i+1]:
cnt=cnt+1
else:
print(s[i]+str(cnt),end=»)
cnt=1

А это код выдает ошибку. if s[i]==s[i+1]:TypeError: string indices must be integers

s=’aaabbvccccuuuiii’
n=0
t=1
for i in s:
if s[i]==s[i+1]:
t+=1
else:
print(s[i], t, sep=», end=»)
t=1
n+=1
print(s[i], t)

Прошу простым языком объяснить почему второй вариант просит вещественные значения. В обоих случая есть одинаковое условие if s[i]==s[i+1]: счетчик цикла.

Решенный вопрос
Добавить комментарий