1
try:
n1 = float(input("Número 1: "))
n2 = float(input("Número 2: "))
print(n1 / n2)
except ZeroDivisionError as e:
print("Erro:", e)
except ValueError as e:
print("Erro:", e)
2
idades = {'Júlia': 16, 'Carol': 23, 'Alberto': 19, 'Roberta': 17}
try:
nome = input("Nome: ")
print(idades[nome])
except KeyError:
print("Nome não encontrado")
3
def converte_float(lista):
try:
return [float(x) for x in lista]
except ValueError as e:
print("Erro:", e)
finally:
print("Fim da execução da função")
print(converte_float(['1', '2', '3.5']))
4
def agrupa_listas(lista1, lista2):
try:
if len(lista1) != len(lista2):
raise IndexError(
"A quantidade de elementos em cada lista é diferente."
)
return [
(lista1[i], lista2[i], lista1[i] + lista2[i])
for i in range(len(lista1))
]
except (IndexError, TypeError) as e:
print("Erro:", e)
print(agrupa_listas([1,2,3], [4,5,6]))
5
gabarito = ['D', 'A', 'B', 'C', 'A']
def corrige(testes):
notas = []
for teste in testes:
for alt in teste:
if alt not in ['A','B','C','D']:
raise ValueError(f"Alternativa inválida: {alt}")
nota = sum(
1 for r, g in zip(teste, gabarito) if r == g
)
notas.append(nota)
return notas
print(corrige([
['D','A','B','C','A'],
['C','A','A','C','A']
]))
6
def verifica(lista):
for palavra in lista:
if ',' in palavra or '.' in palavra or '!' in palavra or '?' in palavra:
raise ValueError(
f'Pontuação encontrada em "{palavra}"'
)
return "Texto OK"
print(verifica(['Python', 'é', 'legal']))
7
def divide_colunas(pressoes, temperaturas):
try:
if len(pressoes) != len(temperaturas):
raise ValueError("Listas de tamanhos diferentes")
return [
p / t for p, t in zip(pressoes, temperaturas)
]
except (ZeroDivisionError, ValueError) as e:
print("Erro:", e)
print(divide_colunas(
[100,120,140],
[20,25,35]
))