1. Divisão entre dois números float 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 erro:
print(f"Erro: {type(erro).__name__} - Não é possível dividir por zero.")
except ValueError as erro:
print(f"Erro: {type(erro).__name__} - Entrada inválida.")
2. Pesquisa de chave em dicionário
idades = {
'Júlia': 16,
'Carol': 23,
'Alberto': 19,
'Roberta': 17
}
try:
nome = input("Digite um nome: ")
idade = idades[nome]
print(f"Idade: {idade}")
except KeyError:
print("Nome não encontrado")
3. Converter lista para float
def converter_para_float(lista):
try:
lista_float = [float(item) for item in lista]
return lista_float
except Exception as erro:
print(f"Erro: {type(erro).__name__}")
finally:
print("Fim da execução da função")
# Testes
lista1 = ['1', '2', '3.5']
print(converter_para_float(lista1))
lista2 = ['1', 'abc', '3']
print(converter_para_float(lista2))
4. Agrupar listas em tuplas
def agrupar_listas(lista1, lista2):
try:
if len(lista1) != len(lista2):
raise IndexError(
"A quantidade de elementos em cada lista é diferente."
)
resultado = []
for i in range(len(lista1)):
soma = lista1[i] + lista2[i]
resultado.append(
(lista1[i], lista2[i], soma)
)
return resultado
except Exception as erro:
print(f"{type(erro).__name__}: {erro}")
# Teste sem erro
lista1 = [4,6,7,9,10]
lista2 = [-4,6,8,7,9]
print(agrupar_listas(lista1, lista2))
# Teste tamanhos diferentes
lista1 = [4,6,7,9,10,4]
lista2 = [-4,6,8,7,9]
print(agrupar_listas(lista1, lista2))
# Teste valores incoerentes
lista1 = [4,6,7,9,'A']
lista2 = [-4,'E',8,7,9]
print(agrupar_listas(lista1, lista2))