1. Divisão com tratamento de erros
try:
num1 = float(input("Digite o primeiro número: "))
num2 = float(input("Digite o segundo número: "))
resultado = num1 / num2
print(f"Resultado da divisão: {resultado}")
except ZeroDivisionError as e:
print("Erro:", e, "- Não é possível dividir por zero.")
except ValueError as e:
print("Erro:", e, "- Entrada inválida, digite apenas números.")
2. Consulta em dicionário com KeyError
idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
nome = input("Digite o nome: ")
try:
valor = idades[nome]
print(f"{nome} tem {valor} anos.")
except KeyError:
print("Nome não encontrado")
3. Função para converter lista em float
def converte_lista(lista: list) -> list:
try:
lista_float = [float(x) for x in lista]
return lista_float
except Exception as e:
print("Erro:", e)
finally:
print("Fim da execução da função")
Teste
print(converte_lista([1, 2, "3.5"]))
print(converte_lista([1, "abc", 3]))
4. Função para agrupar listas em tuplas
python
def agrupa_listas(lista1: list, lista2: list) -> list:
try:
if len(lista1) != len(lista2):
raise IndexError("A quantidade de elementos em cada lista é diferente.")
resultado = [(a, b, a+b) for a, b in zip(lista1, lista2)]
return resultado
except Exception as e:
print("Erro:", e)
Testes
lista1 = [4,6,7,9,10]
lista2 = [-4,6,8,7,9]
print(agrupa_listas(lista1, lista2)) # sem erro
lista1 = [4,6,7,9,10,4]
lista2 = [-4,6,8,7,9]
print(agrupa_listas(lista1, lista2)) # erro de tamanho
lista1 = [4,6,7,9,'A']
lista2 = [-4,'E',8,7,9]
print(agrupa_listas(lista1, lista2)) # erro de tipo