Oi, Ruan! Tudo bem?
O código if(chute.upper() == letra.upper()):
consegue encontrar a letra 'a' mesmo quando a palavra_secreta
está em caixa alta justamente por causa do método .upper()
que é aplicado tanto ao chute
quanto à letra
.
O método .upper()
transforma todas as letras de uma string em maiúsculas, então, quando executamos chute.upper()
, se o chute
era "a", ele se torna "A". Da mesma forma, quando executamos letra.upper()
, se a letra
era "a", ela se torna "A". Isso significa que a comparação é feita sempre entre letras maiúsculas, independente de como a letra foi originalmente inserida.
Por exemplo, se a palavra_secreta
for "BANANA" e o chute
for "a", o que acontece é o seguinte:
chute.upper()
transforma "a" em "A"letra.upper()
transforma cada letra da palavra_secreta
em maiúscula, mas como elas já são maiúsculas, elas permanecem as mesmas.- Então a comparação é feita entre "A" (chute) e "A" (letra da palavra_secreta), que são iguais.
O Python tem muitos métodos úteis como .upper()
que nos ajudam a lidar com strings de maneiras flexíveis!
Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!
Caso este post tenha te ajudado, por favor, marcar como solucionado ✓