s1Eva_IT2012_T1 Codificar número por dígito

Ejercicio: 1Eva_IT2012_T1 Codificar número por dígito

Propuesta de solución en Python, también se adjunta el diagrama en pdf

Ingrese un numero «original» validando que sea de tres dígitos, es decir entre 100 y 1000.

Se extrae cada dígito usando residuo y cociente de la división para 10. Aplique a cada dígito las reglas del enunciado del problema usndo condicionales.

Los dígitos se vuelven a armar en el código como resultado usando las posiciones i de cada uno de ellos (unidades, decenas, centenas).

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 1Eva_IT2012_T1 Codificar número por dígito

# INGRESO
original = int(input('número: '))

while not(original>=100 and original<1000):
    original = int(input('número: '))

# PROCEDIMIENTO
A = original
codigo = 0
i = 0
while not(A==0):
    d = A%10
    A = A//10
    
    if (d==2 or d==5 or d==7):
        d = d+1
    else:
        if (d==1 or d==4 or d==8 or d==9):
            d = d-1

    codigo = codigo + d*(10**i)
    i = i+1
    
# SALIDA
print('codificado: ', codigo)

Resultado del algoritmo

número: 472
codificado:  383
>>> 
número: 503
codificado:  603
>>> 
número: 615
codificado:  606
>>> 

Diagrama de Flujo

 

ejercicios resueltos Python 1Eva_IT2012_T1 pdf