Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
2
respostas

Loop While

Bom dia, to com um loop nesse While. alguem consegue memostrar onde tá o erro?

numeroSecreto = 41
quantidadeDeTentativas = 5
quantidadeMinimaTentativas = 0


print("")
print("**********************************************")
print("** SEJA BEM-VINDO AO JOGO DE ADIVINHAÇÃO!!! **")
print("**********************************************")
print("")
print("VOCÊ ESTÁ PRONTO ?")
respostaVoceEstaPronto = input("S/N:")

respostaVoceEstaPronto = respostaVoceEstaPronto.upper()

if respostaVoceEstaPronto == "S":
    print("**********************************************")
    print("************** VAMOS NESSA !!! ***************")
    print("**********************************************")
    valorDigitado = input("DIGITE UM VALOR ENTRE 0 e 100: ")
    valorDigitadoInteiro = int(valorDigitado)

    while quantidadeMinimaTentativas <= quantidadeDeTentativas:
        if valorDigitadoInteiro == numeroSecreto:
            print("parabens")
        else:
            print("errado")
            quantidadeDeTentativas -= quantidadeMinimaTentativas

else:
    print("**********************************************")
    print("************ ATÉ A PROXIMA!!!*****************")
    print("**********************************************")
    exit()
2 respostas

Bom dia!

Você primeiramente deve colocar o input do usuário dentro do While, se não ele vai perguntar somente uma vez. E também adicione o break no if qunado ele acerta, para parar o programa:

if respostaVoceEstaPronto == "S":
    print("**********************************************")
    print("************** VAMOS NESSA !!! ***************")
    print("**********************************************")


    while quantidadeMinimaTentativas <= quantidadeDeTentativas:
        valorDigitado = input("DIGITE UM VALOR ENTRE 0 e 100: ")
        valorDigitadoInteiro = int(valorDigitado)

        if valorDigitadoInteiro == numeroSecreto:
            print("parabens")
            break
        else:
            print("errado")
            quantidadeDeTentativas -= quantidadeMinimaTentativas

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Bom dia Arthur, beleza? Primeiro eu sugiro iniciar as variáveis em snake_case:

numero_secreto = 41
quantidade_de_tentativas = 5
quantidade_minima_tentativas = 0

Mas para o código dar certo eu

  1. coloquei o input dentro do loop
  2. inseri um break caso o jogador ganhe
  3. mudei a incrementação caso o jogador erre
  4. mudei a verificação do loop para ele iniciar se tentativas > chances

Aí meu código ficou assim:

    while quantidade_de_tentativas > quantidade_minima_tentativas:
        valor_digitado = input("DIGITE UM VALOR ENTRE 0 e 100: ")
        valor_digitado_inteiro = int(valor_digitado)

        if valor_digitado_inteiro == numero_secreto:
            print("parabens")
            break

        else:
            print("errado")
            quantidade_minima_tentativas += 1

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software