Rogério na verdade esse upper é um metodo que faz com q a letra ou palavra se torne inteira maiuscula, caso ela esteja minuscula, ela se torna maiuscula.
Um metodo seria como um botão do controle remoto, quando você aperta para aumentar o volume ele segue aumentando, quando você chega no máximo ele não consegue aumentar mais, porém se o volume estiver abaixo do limite você conseguiria aumentar. Se deixar de pressionar o botão do controle remoto ele para de executar a ação de aumentar o volume
Agora pensa comigo, o máximo do metodo upper é ficar com a letra maiuscula, então se ela já estiver maiuscula se mantém ali no limite, mas se estiver minuscula ela é aumentada e se torna maiuscula.
Então no código apresentado oque ele está fazendo?
Ele deixa tanto o chute quanto a letra em maiusculo e depois compara se ambos são iguais( nessa parte após comparar seria como se ele estivesse soltando o botão de volume do controle, então ele para de executar a ação de aumentar) se são iguais ele executa a ação que está abaixo dele, que seria escrever a mensagem esperada, porém como não salvamos em nenhum lugar esse resultado do chute.upper() ele não fica guardado. então no momento do print será exibido oque você definiu, se tem uma variável que foi definida antes dele, ela será exbida da mesma forma de antes. Só ficaria salvo se você atribuir ele a uma variável por exemplo.
Um outro exemplo:
if "a" == "A":
print("a é igual A")
else:
print("a não é igual A")
#saida:
#a não é igual A
uma string "a" minusculo não é igual uma string "A" maiusculo
Então nesse caso precisariamos deixar ambas ou maiusculas ou minusculas para serem consideradas iguais
Ficou mais claro? Caso não, pode mandar aqui uma nova interação que explico de outra maneira.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!