• Matéria: Informática
  • Autor: mayanasouza828
  • Perguntado 5 anos atrás

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.

Respostas

respondido por: GIAN9919
0

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.

Perguntas similares