4
respostas

O jogo não para quando acertamos

Percebi que o jogo não apra quando acertamos, por isso fiz uma mudança no código, espero que ajude alguém:

print("***********************************")
print("Bem Vindo ao jogo de Adivinhação!")
print("***********************************")

numero_secreto = 42
total_de_tentativas = 3
rodada = 1
acertou = False
chute = 0

while(rodada <= total_de_tentativas and acertou==False): 
    print("Tentativa {} de {}".format(rodada,total_de_tentativas))
    chute_str = input("Digite o seu numero: ")
    chute = int(chute_str)
    print("Você digitou ", chute)

    acertou = chute == numero_secreto
    maior   = chute > numero_secreto
    menor   = chute < numero_secreto

    if(acertou):
        print("Você Acertou na {}° tentativa!".format(rodada))
    else:
        if(maior):
            print("Você Errou! O seu chute foi maior que o número secreto.")
        elif(menor):
            print("Você Errou! O seu chute foi menor que o número secreto.")
    rodada = rodada + 1

    print("Fim do Jogo")
4 respostas

Também tive esse problema, não sei onde estou errando. Quando acerto ele não sai do laço de repetição for.

print("\n********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("********************************\n")

print("Tente adivinhar o 'Número Secreto'!\n Digite um número de 0 a 5!\n ")

numero_secreto = 42
qtd_tentivas = 3

for rodada in range(1, qtd_tentivas + 1):
    print("Tentativa {} de {}". format(rodada, qtd_tentivas))
    impute_str = input("\nDigite o seu número: ")
    print("\nVocê digitou: ", impute_str)
    impute = int(impute_str)

    acertou = impute == numero_secreto
    maior = impute > numero_secreto
    menor = impute < numero_secreto

    if(acertou):
        print("\n******Você acertou :) :) :)")
    else:
        if(maior):
            print("\nVocê errou! ;(\nSeu chute foi maior do que o número secreto, tente um número menor!\n")
        elif(menor):
            print("\nVocê errou! ;(\nSeu chute foi menor do que o número secreto, tente um número maior!\n")
print("Fim do Jogo!")

Usando for acho que usamdo um break, resolve tru problema, tenta assim:

print("\n********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("********************************\n")
print("Tente adivinhar o 'Número Secreto'!\n Digite um número de 0 a 5!\n ")
numero_secreto = 42
qtd_tentivas = 3
for rodada in range(1, qtd_tentivas + 1):
    print("Tentativa {} de {}". format(rodada, qtd_tentivas))
    impute_str = input("\nDigite o seu número: ")
    print("\nVocê digitou: ", impute_str)
    impute = int(impute_str)
    acertou = impute == numero_secreto
    maior = impute > numero_secreto
    menor = impute < numero_secreto
    if(acertou):
        print("\n******Você acertou :) :) :)")
        break
    else:
        if(maior):
            print("\nVocê errou! ;(\nSeu chute foi maior do que o número secreto, tente um número menor!\n")
        elif(menor):
            print("\nVocê errou! ;(\nSeu chute foi menor do que o número secreto, tente um número maior!\n")
print("Fim do Jogo!")

Também estava com essa mesma dúvida..Mas, eu também usei o Break e resolvi o problema. Mesmo acertando o jogo continuava rodando.

Boa noite colegas;

Abaixo o meu código, usei o break no primeiro if fiz um pouco diferente. Abraços:

print("********************************")
print("    Acerte o seu número!        ")
print("********************************")
numero = 42
tentativas = 1
voltas = 3
while (voltas>=tentativas):
    numero_escolhido=int(input("Digite o seu número:"))
    print("O número escolhido foi:",numero_escolhido)
    escolhido = numero==numero_escolhido
    maior = numero > numero_escolhido
    menor = numero < numero_escolhido
    if(escolhido):
        print("Parabéns, você acertou!")
        break
    else:
        if (maior):
            print("o número secreto é maior que", numero_escolhido)
            print("Você utilizou {} de {} tentativas".format(tentativas,voltas))
            print("********************************")
        elif (menor):
            print("o número secreto é menor que", numero_escolhido)
            print("Você utilizou {} de {} tentativas".format(tentativas,voltas))
            print("********************************")
    tentativas = tentativas+1
print("Fim do jogo!")