Escrevi o seguinte código:
notas = {'João': [8.0, 9.0, 10.0], 'Maria': [9.0, 7.0, 6.0], 'José': [3.4, 7.0, 8.0], 'Cláudia': [5.5, 6.6, 8.0],
'Ana': [6.0, 10.0, 9.5], 'Joaquim': [5.5, 7.5, 9.0], 'Júlia': [6.0, 8.0, 7.0], 'Pedro': [3.0, 4.0, 6.0]}
try:
nome = input('Digite o nome do estudante: ')
except KeyError:
print(f'O aluno "{nome}" não está na lista da turma')
else:
print(notas[nome])
Quando faço um teste com nome que não está na lista de notas, ele não roda o print do except como deveria. Mas, se eu armazenar o notas[nome] em uma variável, como foi feito na aula, esse erro não acontece (como mostrado no código abaixo). Por que isso ocorre?
notas = {'João': [8.0, 9.0, 10.0], 'Maria': [9.0, 7.0, 6.0], 'José': [3.4, 7.0, 8.0], 'Cláudia': [5.5, 6.6, 8.0],
'Ana': [6.0, 10.0, 9.5], 'Joaquim': [5.5, 7.5, 9.0], 'Júlia': [6.0, 8.0, 7.0], 'Pedro': [3.0, 4.0, 6.0]}
try:
nome = input('Digite o nome do estudante: ')
resultado = notas[nome]
except KeyError:
print(f'O aluno "{nome}" não está na lista da turma')
else:
print(resultado)