NA LINGUAGEM PYTHON
Escreva um programa que traduz um número de telefone alfabético de 8 dígitos em um número de telefone na forma numérica. Suponha que a entrada possa ser dada em caracteres maiúsculos ou minúsculos ( internamente seu programa sempre trabalhará com maiúsculas, converta as minúsculas para maiúsculas).
Exemplo:
Se a entrada é URGENCIA ou urgencia a saída deve ser 87436242 . Se a entrada é 1111FOGO ou 1111fogo a saída deve ser 11113646 .
Se você não possui um telefone, então as letras que correspondem às teclas são as seguintes: 2=ABC, 3=DEF, 4=GHI, 5=JKL, 6=MNO, 7=PQRS, 8=TUV e 9=WXYZ.
Soluções para a tarefa
Resposta:
import sys
alfabeto = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
x = input('telefone/letra: ').upper()
telefone = list(x)
if len(telefone) < 8 or len(telefone) > 8:
sys.exit()
soma = -1
numero = []
for y in telefone:
soma += 1
if y in 'ABC':
numero.append(2)
elif y in 'DEF':
numero.append(3)
elif y in 'GHI':
numero.append(4)
elif y in 'JKL':
numero.append(5)
elif y in 'MNO':
numero.append(6)
elif y in 'PQRS':
numero.append(7)
elif y in 'TUV':
numero.append(8)
elif y in 'WXYZ':
numero.append(9)
elif y not in alfabeto:
numero.append(y)
telefone.clear()
for k in numero:
telefone.append(int(k))
print(telefone)
Explicação:
código ficou feio mas tá funcionado. Espero que de certo ai tbm.