forked from Testudinate/Python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path19_string_aa_to_a2.py
More file actions
34 lines (31 loc) · 1.51 KB
/
19_string_aa_to_a2.py
File metadata and controls
34 lines (31 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Узнав, что ДНК не является случайной строкой, только что поступившие в Институте
студенты группы информатиков предложили использовать алгоритм сжатия,
который сжимает повторяющиеся символы в строке.
Кодирование осуществляется следующим образом:
s = 'aaaabbсaa' преобразуется в 'a4b2с1a2', то есть
группы одинаковых символов исходной строки заменяются на этот символ и
количество его повторений в этой позиции строки.
Напишите программу, которая считывает строку, кодирует её
предложенным алгоритмом и выводит закодированную последовательность
на стандартный вывод. Кодирование должно учитывать регистр символов.
# put your python code here
s = str(input())
l = len(s)-1
c = 1
t = ''
if len(s)==1:
t = t +s+str(c)
else:
for i in range(0,l):
if s[i]==s[i+1]:
c +=1
elif s[i]!=s[i+1]:
t = t + s[i]+str(c)
c = 1
for j in range(l,l+1):
if s[-1]==s[-2]:
t = t +s[j]+str(c)
elif s[-1]!=s[-2]:
t = t +s[j]+str(c)
c = 1
print(t)