2
respostas

Meu código não está funcionando, podem ajudar?

Segue meu código:

import random

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

numero_secreto = round(random.randrange(1, 101)) total_de_tentativas = 0 nivel = int(input("nível desejado: "))

print("Qual nível de dificultade vc quer?") print("(1) fácil (2) médio ou (3) difícil")

if (nivel == 1): total_de_tentativas = 30 elif (nivel == 2): total_de_tentativas = 20 elif (nivel == 3): total_de_tentativas = 10

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("Você deve digitar um número entre 1 e 100!")
    continue

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

if (acertou):
    print("Você digitou", chute, "e acertou!")
    break

else:
    print("Você digitou", chute, "e infelizmente errou! tente outra vez")
    if(maior):
        print("seu número é muito alto, tente um número menor!")
    elif(menor):
        print("seu número é muito baixo, tente um número maior!")

print("Game over! O número secreto era {}".format(numero_secreto))

Quando coloco para rodar, eu escolhendo 1, 2 ou 3 na dificuldade, ele sempre coloca tentativas 1 de 5

O que estou fazendo de errado?

Obrigada!

2 respostas

Acho que era um problema de identação. Ao reorganizar o código e identar de forma correta ele funcionou aqui.

import random

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

numero_secreto = round(random.randrange(1, 101)) 

total_de_tentativas = 0 


print("Qual nível de dificultade vc quer?") 
print("(1) fácil (2) médio ou (3) difícil")
nivel = int(input("nível desejado: "))

if (nivel == 1): total_de_tentativas = 30 
elif (nivel == 2): total_de_tentativas = 20 
elif (nivel == 3): total_de_tentativas = 10

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("Você deve digitar um número entre 1 e 100!")
        continue

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

    if (acertou):
        print("Você digitou", chute, "e acertou!")
        break

    else:
        print("Você digitou", chute, "e infelizmente errou! tente outra vez")
        if(maior):
            print("seu número é muito alto, tente um número menor!")
        elif(menor):
            print("seu número é muito baixo, tente um número maior!")

print("Game over! O número secreto era {}".format(numero_secreto))

Muito Obrigada... eu fui dar uma olhada no código e realmente estava certo... mesmo com a indentação original...

O problemas é que estava com 3 arquivos .py abertos no mesmo projeto e acho que na hora que eu estava mandando rodar o código, ele estava pegando de um dos outros 2 arquivos que estavam abertos... dai excluí esse dois arquivos e fiquei apenas com 1. Agora rodou certinho.

Obrigada novamente!!