Na explicação do uso do ELSE, foi mencionado que o ELSE é utilizado quando a exceção não for lançada. Porém, se a exceção não tiver que ser lançada, o código não deveria rodar todo no TRY? Pois se o estudante não estiver matriculado, em tese não teríamos um resultado.
Exemplo: Ao invés de: try: nome = input("Digite o nome do estudante: ") resultado = notas[nome] except KeyError: print("Estudante não matriculado.") else: print(resultado)
Ficar: try: nome = input("Digite o nome do estudante: ") resultado = notas[nome] print(resultado) except KeyError: print("Estudante não matriculado.")