Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não entendi porque no exercício da forca usa upper duas vezes

Eu não entendi porque o código retorna um valor minusculo, apesar dos upper dentro do if. E porque precisa utilizar os upper para resolver a questão do maiúsculo e minusculo?

Meu código
print("*******************************")
    print("Bem vindo ao jogo de Forca!")
    print("*******************************")

    palavra_secreta = "banana"

    enforcou = False
    acertou = False

    #Enquanto (NÃO enforcou E NÃO acertou) = (NÃO False E NÃO False)
    # (True E True) = True
    while(not enforcou and not acertou):

        chute = input("Qual letra? ")
        chute = chute.strip()


        index = 0
        for letra in palavra_secreta:
            if (letra == chute):
                print("Encontrei a letra {} na posição {}".format(letra, index))
            index = index + 1

        print("Jogando ...")
_______________________________
Pedaço do código do professor com os upper
    index = 0
    for letra in palavra_secreta:
        if (chute.upper() == letra.upper()):
            print("Encontrei a letra {} na posição {}".format(letra, index))
        index = index + 1
4 respostas
solução!

Pelo que entendi ele passou a palavra secreta e a letra para maiúsculo, assim independente do chute ser "a" ou "A" ele acertaria, já que a palavra nesse caso é banaba

Ele poderia ter passado os dois para minusculo tambem. Só tem que ser iguais para o retorno do if ser consistente.

Ah, então se ele tivesse escrito dois lower no lugar desses dois upper, daria certo do mesmo jeito porque ele iria passar tudo pra minusculo mesmo se não fosse. Obrigado

Olá Marcelo, sua dúvida foi esclarecida?

Oi foi sim! Esqueci de marcar solução, desculpe sou novo haha