2
respostas

Faça como eu fiz: conversor de tipos

Boa tarde! Essa atividade em específica eu tive muita díficuldade e não consegui realiza-la... Olhei a resolução que tem disponível na própria aula e consegui compreender um pouco mas não totalmente como o código funciona... A parte para listar erro na conversão também não entendi como funciona, nem entendi muito bem como converter alguma str para int.

'''
Pedro está criando um sistema de cadastro de produtos para sua loja e percebeu que todos os números de telefone dos clientes estão armazenados como strings. No entanto, para facilitar buscas e validações, ele precisa que esses números sejam tratados como inteiros.

Dado o seguinte código com uma lista de números de telefone armazenados incorretamente como str, faça duas funções, uma que converte os tipos para inteiro e outra que verifica se a conversão foi feita corretamente e todos os números de telefone são inteiros:
'''

def convercao(lista):
    return [int(telefone) for telefone in lista]

def verificar_convercao(lista):
    for num in lista:
        if not isinstance(num, int):
            return "Erro na conversão."
        
    return "Todos os números foram convertidos corretamente!"

telefones = ["11987654321", "21912345678", "31987654321", "11911223344"] 

telefones_convertidos = convercao(telefones)

print(verificar_convercao(telefones_convertidos))
2 respostas

Agradeço desde já pela ajuda

Vamos por partes!

def convercao(lista):
return [int(telefone) for telefone in lista] # Aqui pegamos o telefone e convertemos para int, e o for é usado para percorrer a lista de telefones, então para cada telefone que temos na lista vamos converter ele para inteiro.

def verificar_convercao(lista):
for num in lista:
    if not isinstance(num, int): # aqui vamos verificar com o metódo isinstance(esse método passamos um objeto, e um tipo e comparamos se o tipo passado é igual o do objeto) se o numero é inteiro, caso não for, vai retornar erro 
        return "Erro na conversão."



Espero ter ajudado!