Учитывая строку, содержащую буквы алфавита в верхнем регистре (A-Z), сожмите ее, используя кодировку длины.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Учитывая строку, содержащую буквы алфавита в верхнем регистре (A-Z), сожмите ее, используя кодировку длины.

Сообщение Anonymous »

Для получения строки, содержащей буквы алфавита в верхнем регистре (A-Z), сожмите ее, используя кодировку длины. Повторение символа необходимо заменить сохранением длины этого пробега.

Я пробовал следующие коды

Код: Выделить всё

#Code 1: Tried on my own

def encode(message):
list1=[]
for i in range (0,len(message)):
count = 1
while(i < len(message)-1 and message[i]==message[i+1]):
count+=1
i+=1
list1=str(count)+message[i]
return list1
encoded_message=encode("ABBBBCCCCCCCCAB")
print(encoded_message)

Input:AAAABBBBCCCCCCCC
Expected Output: 4A4B8C

#code 2:I tried this by looking at another code based on run-length encoding

def encode(message):
list1=[]
count=1
for i in range (1,len(message)):
if(message[i]==message[i-1]):
count+=1
else:
list1.append((count,list1[i-1]))
count=1
if i == len(messege) - 1 :
list1.append((count , data[i]))
return list1

encoded_message=encode("ABBBBCCCCCCCCAB")
print(encoded_message)
Входные данные: AAAABBBBCCCCCCCC

Ожидаемый результат: 4A4B8C

Первый код дает выходные данные как 2B

Подробнее здесь: https://stackoverflow.com/questions/570 ... ng-using-r
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»