Informatică, întrebare adresată de alex032206, 8 ani în urmă

Se citește un text codificat după regula: În fata fiecărui caracter este scris un număr de cel
mult 2 cifre care reprezintă numărul de apariții consecutive ale acestui.
a) Scrieți un program care decodifica textul. De exemplu textul 1G10o4l se va decodifica
Goooooooooollll
b) Scrieți un program care, dat un text, îl codifică după regula de la a)
Puteti sa imi aratati cum se face in python?

Răspunsuri la întrebare

Răspuns de VxF
0

Răspuns:

### a) ###

import re

codificat = '1G10o4l'

decodificat = re.sub(r'(\d{1,2})(.)', lambda match: match.group(2) * int(match.group(1)), codificat)

### b) ###

import re

decodificat = 'Goooooooooollll'

codificat = re.sub(r'(.)\1*', lambda match: str(len(match.group(0))) + match.group(1), decodificat)

Explicație:

Alte întrebări interesante