1
resposta

Resolução de alguns exercícios

#1
def main():

    try:
        number1 = float(input("Digite um numero para que seja realizada a divisão:"))
        number2 = float(input("Digite um numero para que seja realizada a divisão:"))
        
        result = number1/number2
        print(f"A divisão de {number1} por {number2} é {result:.2f}")
        
    except ValueError:
        print("Por favor, digite números válidos: ") 
    except ZeroDivisionError:
        print("Erro: Não é possível dividir por zero: ")  
    except Exception as e:
        print(f"Erro inesperado {e}")       
        
if __name__ == "__main__":
    main()        
#2
def main():
    idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
    
    # Solicita ao usuário para digitar um nome
    nome = input("Digite um nome para pesquisar a idade: ")
    
    try:
        # Acessa o valor correspondente ao nome no dicionário
        idade = idades[nome]
        print(f"A idade de {nome} é {idade}.")
    except KeyError:
        # Trata o caso em que o nome não é encontrado
        print("Nome não encontrado.")

if __name__ == "__main__":
    main()
    
lista_todo = [1,2,3,4,'igor']
def coverter_float(lista):
    resultado = []
    for item in lista:
        try:
            resultado.append(float(item))
        except ValueError:
            print(f"{item} não poder ser convertido para float")
        finally:
            print(f"tentativa de converter {item}")
    print("Programa sendo finalizado:")
    return resultado            
 

resultado_float = coverter_float(lista_todo)
print(resultado_float)
def soma_listas(lista1, lista2):
    try:
        if len(lista1) == len(lista2):
            dados = [(lista1[i], lista2[i], lista1[i]+lista2[i]) for i in range(len(lista1))]
        else:
            raise IndexError('A quantidade de elementos em cada lista é diferente.')
    except Exception as e:
        print(type(e), f'Erro: {e}')
    else:
        return dados  
1 resposta

Olá Igor, tudo bem com você?

Obrigado por compartilhar seu código com a comunidade Alura.

Gostei bastante de como você aplicou corretamente o tratamento de exceções, como nos casos de ZeroDivisionError e KeyError. Isso deixa seu código mais robusto e preparado para lidar com entradas inesperadas.

Uma curiosidade que pode te ajudar a simplificar o código é o uso do método get() para acessar valores de dicionários. Com ele, você pode definir um valor padrão caso o nome não seja encontrado, evitando o KeyError. Veja o exemplo de como o código ficaria:

idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
nome = input("Digite um nome para pesquisar a idade: ") 
idade = idades.get(nome, "Nome não encontrado") 
print(f"A idade de {nome} é {idade}.")

Esse método retorna o valor correspondente ao nome ou a mensagem padrão se o nome não existir, tornando o código mais direto.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!