Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aula de python, jogo do advinha

E caso eu quisesse que se o usuário digita-se um número inválido, em vez de contar uma das tentativas ele apenas segurava, a quantidade de tentativas até o usuário digitar um número válido ?

print("**********************************")
print("Bem vindos ao jogo de adivinhação!")
print("**********************************")

numero_secreto = 43
tentativas = 3

#rodada = 1 apenas para o while

#while(rodada < tentativas):
for rodada in range(1,tentativas + 1):
     print("Tentativas {} de {}".format(rodada, tentativas))
     chute = input("Digite o seu número:")
     print("Você digitou",chute)

     chute = int(chute)
     acertou = chute == numero_secreto
     maior = chute > numero_secreto
     menor = chute < numero_secreto

        if(chute < 1 or chute > 100):
        print("Você deve digitar um número entre 1 e 100!")
        continue

     if(acertou):
          print("Você acertou!!!")
          break
     else:
         if(maior):
             print("Você errou, seu número foi maior.")
         elif(menor):
             print("Você errou, seu número foi menor.")



     #rodada = rodada + 1 apenas com while

1 resposta
solução!

Nesse caso, voce mantem o while e nao o for (que vai adicionar o valor toda vez que reiniciar), e aumenta o numero da rodada manualmente, somente se ele cair nos numeros que deseja.

print("**********************************")
print("Bem vindos ao jogo de adivinhação!")
print("**********************************")

numero_secreto = 43
tentativas = 3
rodada = 1

#rodada = 1 apenas para o while

while(rodada <= tentativas): 
#for rodada in range(1,tentativas + 1):
    print("Tentativas {} de {}".format(rodada, tentativas))
    chute = input("Digite o seu número:")
    print("Você digitou",chute)
    chute = int(chute)
    acertou = chute == numero_secreto
    maior = chute > numero_secreto
    menor = chute < numero_secreto
    if(chute < 1 or chute > 100):
        print("Você deve digitar um número entre 1 e 100!")
        continue
    else:
        #processa apenas se for entre 1 e 100
        if(acertou):
            print("Você acertou!!!")
            break
        else:
            if(maior):
              print("Você errou, seu número foi maior.")
            elif(menor):
              print("Você errou, seu número foi menor.")
        rodada += 1 #aumenta 1 na rodada