O for
funciona, tem como você acertar, mas ele não para na hora certa. Se você tentar acertar na primeira digitando 42 vai pedir pra você digitar outro numero até acabar as tentativas:
*********************************
Bem-Vindo no jogo de Adivinhação!
*********************************
Tentativa 1 de 3
Digite um número entre 1 e 100: 42
Você digitou: 42
Tentativa 2 de 3
Digite um número entre 1 e 100: 42
Você digitou: 42
Tentativa 3 de 3
Digite um número entre 1 e 100: 42
Você digitou: 42
Voce acertou!
Fim de Jogo
Process finished with exit code 0
O motivo disso é que você não indentou corretamente, era pra todo o código antes do print('Fim de Jogo')
estar dentro do for
, ficando assim:
print('*********************************')
print('Bem-Vindo no jogo de Adivinhação!')
print('*********************************')
numero_secreto = 42
total_de_tentativas = 3
for rodada in range(1, total_de_tentativas + 1):
print("Tentativa {} de {}".format(rodada, total_de_tentativas))
chute_str = input("Digite um número entre 1 e 100: ")
print("Você digitou: ", chute_str)
chute = int(chute_str)
if(chute < 1 or chute > 100):
print('Voce deve digitar um número entre 1 e 100!')
continue # continuar com a proxima rodada
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if(acertou):
print('Voce acertou!')
break
else:
if(maior):
print('Voce errou! O seu chute foi maior do que o número secreto.')
elif(menor):
print('Voce errou! O seu chute foi menor do que o número secreto.')
rodada = rodada + 1
print('Fim de Jogo')
Assim eu posso acertar de primeira:
*********************************
Bem-Vindo no jogo de Adivinhação!
*********************************
Tentativa 1 de 3
Digite um número entre 1 e 100: 42
Você digitou: 42
Voce acertou!
Fim de Jogo
Process finished with exit code 0
Ou receber dicas:
*********************************
Bem-Vindo no jogo de Adivinhação!
*********************************
Tentativa 1 de 3
Digite um número entre 1 e 100: 41
Você digitou: 41
Voce errou! O seu chute foi menor do que o número secreto.
Tentativa 2 de 3
Digite um número entre 1 e 100: 43
Você digitou: 43
Voce errou! O seu chute foi maior do que o número secreto.
Tentativa 3 de 3
Digite um número entre 1 e 100: 42
Você digitou: 42
Voce acertou!
Fim de Jogo
Process finished with exit code 0