1
resposta

Meu Projeto

Sou novo na programação, mas consegui chegar nessa logica. Alguma sugestão ?

result = 1
count = 1
secretsNumber = 41
yaresMin = 18

print("*********************************************************")
print("Seja bem-vindo ao teste de adivinhação, você está pronto?")
print("*********************************************************")

test0 = input("S/N:")

if(test0 == "S"):

    print("Qual a sua idade?")

    yaresStr = input("Digite aqui sua idade:")
    yaresInt = int(yaresStr)

    if(yaresInt >= yaresMin):
        print("Acesso autorizado !!")
        print()
    if(yaresInt < yaresMin):
        print("Acesso negado, chame um responsável !!")
        exit()

    while(result == 1):

        guessStr = input("Digite aqui um número entre 0 e 100:")

        guessInt = int(guessStr)

        if(guessInt < 0):
            print("Valor não permitido, tente novamente (< 0)")
            count += 1

        elif(guessInt > 100):
            print("Valor não permitido, tente novemente (> 100)")
            count += 1

        else:
            print("")
            print("Sua resposta é:", guessInt, "?")
            print("")

            test1 = input("S/N:")
            print("")

            if(test1 == "S"):
                if(guessInt > secretsNumber):
                    print("O numero secreto é um pouco menor")

                elif (guessInt < secretsNumber):
                    print("O numero secreto é um pouco maior")

                elif(guessInt == secretsNumber):
                    print("Parabéns sua resposta está correta!!!")
                    print("")
                    print("Vocês precisou de",count,"chances para acertar.")
                    result = 2

                else:
                    print("Resposta errada, tente novamente")
                    count += 1
else:
    print("")
    print("Tudo bem então. Nos vemos em breve")
    exit()
1 resposta

Olá, Arthur! Tudo bem?

Isso mesmo. Ficou ótimo seu código e a dinâmica que usou.

O único problema que está acontecendo é que ele não está contando com exatidão o número de chances utilizadas.

Isso está acontecendo porque a variável count está sendo incrementada na condição:

else:
       print("Resposta errada, tente novamente")
       count += 1

Portanto, quando as condições abaixo são satisfeitas, as condições do else não são executadas:

if(test1 == "S"):
                if(guessInt > secretsNumber):
                    print("O numero secreto é um pouco menor")

                elif (guessInt < secretsNumber):
                    print("O numero secreto é um pouco maior")

                elif(guessInt == secretsNumber):
                    print("Parabéns sua resposta está correta!!!")
                    print("")
                    print("Vocês precisou de",count,"chances para acertar.")
                    result = 2

Portanto, uma forma de solucionar esse problema é incrementar o count para todas as condições. Veja:

        else:
            print("")
            print("Sua resposta é:", guessInt, "?")
            print("")

            test1 = input("S/N:")
            print("")

            if(test1 == "S"):
                if(guessInt > secretsNumber):
                    print("O numero secreto é um pouco menor")

                elif (guessInt < secretsNumber):
                    print("O numero secreto é um pouco maior")

                elif(guessInt == secretsNumber):
                    print("Parabéns sua resposta está correta!!!")
                    print("")
                    print("Vocês precisou de",count,"chances para acertar.")
                    result = 2

                else:
                    print("Resposta errada, tente novamente")
                    count += 1

            count += 1

Apenas alteramos a indentação do count += 1.

Qualquer dúvida estamos à disposição.

Abraços e bons estudos!