# 1. Divisão com tratamento de erro
try:
num1 = float(input("Digite o dividendo: "))
num2 = float(input("Digite o divisor: "))
resultado = num1 / num2
except ZeroDivisionError as e:
print(f"Erro: Divisão por zero não é permitida. ({type(e)})")
except ValueError as e:
print(f"Erro: Digite apenas números válidos. ({type(e)})")
else:
print(f"Resultado: {resultado}")
# 2. Pesquisa em Dicionário
idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
nome = input("Digite o nome para pesquisar a idade: ")
try:
print(f"Idade de {nome}: {idades[nome]}")
except KeyError:
print("Nome não encontrado")
# 3. Conversão de lista para float
def converter_para_float(lista):
try:
nova_lista = [float(item) for item in lista]
return nova_lista
except Exception as e:
print(f"Ocorreu um erro: {type(e)}")
finally:
print("Fim da execução da função")
def calcular_notas(testes, gabarito):
notas_finais = []
try:
for teste in testes:
nota = 0
for i in range(len(teste)):
if teste[i] not in ['A', 'B', 'C', 'D']:
raise ValueError(f"A alternativa {teste[i]} não é uma opção válida")
if teste[i] == gabarito[i]:
nota += 1
notas_finais.append(nota)
except ValueError as e:
return e
else:
return notas_finais
gabarito = ['D', 'A', 'B', 'C', 'A']
testes_ex = [['D', 'A', 'B', 'C', 'A'], ['C', 'A', 'A', 'E', 'A'], ['D', 'B', 'A', 'C', 'A']]
print(f"Resultado: {calcular_notas(testes_ex, gabarito)}")
def verificar_pontuacao(lista_palavras):
pontuacoes = [',', '.', '!', '?']
for palavra in lista_palavras:
for p in pontuacoes:
if p in palavra:
raise ValueError(f'O texto apresenta pontuações na palavra "{palavra}".')
return "Texto limpo!"
# Teste
lista_nao_tratada = ['Python', 'é', 'programação', 'poderosa,', 'versátil']
try:
print(verificar_pontuacao(lista_nao_tratada))
except ValueError as e:
print(e)
def divide_colunas(p, t):
try:
if len(p) != len(t):
raise ValueError("A quantidade de elementos em cada lista é diferente.")
resultado = []
for pr, temp in zip(p, t):
resultado.append(pr / temp)
return resultado
except ZeroDivisionError:
return "Erro: Divisão por zero detectada na temperatura."
except ValueError as e:
return e
except Exception as e:
return f"Erro inesperado: {e}"
# Teste com erro de tamanho
pressoes = [100, 120, 140]
temperaturas = [20, 25, 30, 35]
print(divide_colunas(pressoes, temperaturas))