Мой код:
Ошибка:
Error:
Traceback (most recent call last):
File "jailed_code", line 13, in <module>
if m[t]!='a':
IndexError: string index out of range
Прохожу курс, задали задание, я сделал( код на этом сайте съехал ), при запуске выскакивает ошибка. Подскажите, как решить.
Операционная система: Windows 10
Вот задание которое делаю:
Узнав, что ДНК не является случайной строкой, только что поступившие в Институт биоинформатики студенты группы информатиков предложили использовать алгоритм сжатия, который сжимает повторяющиеся символы в строке.
Кодирование осуществляется следующим образом:
s = 'aaaabbсaa' преобразуется в 'a4b2с1a2', то есть группы одинаковых символов исходной строки заменяются на этот символ и количество его повторений в этой позиции строки.
Напишите программу, которая считывает строку, кодирует её предложенным алгоритмом и выводит закодированную последовательность на стандартный вывод. Кодирование должно учитывать регистр символов.
Sample Input 1:
aaaabbcaa
Sample Output 1:
a4b2c1a2
Sample Input 2:
abc
Sample Output 2:
a1b1c1
Прошу без сообщений по типу: "Я бы такой код написал..... ". Хочу решить сам, поэтому прошу только подсказку, как возможно это решить, а не готовый код.
Код:
m=str(input())
r=len(m)
t=0
x=0
f=' '
a1='a'
b2='b'
c3='c'
while t<=r:
if m[t]=='a':
t+=1
x+=1
if m[t]!='a':
x=str(x)
f+=a1+x
x=int(x)
x=0
if m[t]=='b':
t+=1
x+=1
if m[t]!='b':
x=str(x)
f+=b2+x
x=int(x)
x=0
if m[t]=='c':
t+=1
x+=1
if m[t]!='c':
x=str(x)
f+=c3+x
x=int(x)
x=0
print(f)
Ошибка:
Error:
Traceback (most recent call last):
File "jailed_code", line 13, in <module>
if m[t]!='a':
IndexError: string index out of range
Прохожу курс, задали задание, я сделал( код на этом сайте съехал ), при запуске выскакивает ошибка. Подскажите, как решить.
Операционная система: Windows 10
Вот задание которое делаю:
Узнав, что ДНК не является случайной строкой, только что поступившие в Институт биоинформатики студенты группы информатиков предложили использовать алгоритм сжатия, который сжимает повторяющиеся символы в строке.
Кодирование осуществляется следующим образом:
s = 'aaaabbсaa' преобразуется в 'a4b2с1a2', то есть группы одинаковых символов исходной строки заменяются на этот символ и количество его повторений в этой позиции строки.
Напишите программу, которая считывает строку, кодирует её предложенным алгоритмом и выводит закодированную последовательность на стандартный вывод. Кодирование должно учитывать регистр символов.
Sample Input 1:
aaaabbcaa
Sample Output 1:
a4b2c1a2
Sample Input 2:
abc
Sample Output 2:
a1b1c1
Прошу без сообщений по типу: "Я бы такой код написал..... ". Хочу решить сам, поэтому прошу только подсказку, как возможно это решить, а не готовый код.
Последнее редактирование: