3
respostas

variavel nao identificada n python 3

f (nivel == 1): total_de_tentativas = 20 elif (nivel == 2): total_de_tentativas = 10 else: total_de_tentativas = 5

depois de ter declarado a variável , o python nao a reconhece e printa o erro de sintaxe como posso resolver isso ?

3 respostas

Olá, tudo bem?

Pode mandar todo seu código para eu dar uma olhada?

Bem aqui está o código inteiro ainda nao entendi o erro de sintaxe

import random

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

numero_secreto = random.randrange(1,101)
total_de_tentativas = 0
pontos = 1000

print("Escolha o nivel de dificuldade que voce deseja")
print(" (1) facil , (2) medio , (3) dificil ")

nivel == int(input("Digite o nivel de dificuldade")

if (nivel == 1)
    total_de_tentativas = 20
elif (nivel == 2):
    total_de_tentativas = 10
else:
    total_de_tentativas = 5

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ê acertou!")
        print(numero_secreto)
    else:
        if(maior):
            print("Você errou! O seu chute foi maior do que o número secreto.")
            print(numero_secreto)
        elif(menor):
            print("Você errou! O seu chute foi menor do que o número secreto.")
            print(numero_secreto)

    pontos_perdidos = abs(numero_secreto - chute)
    pontos = pontos - pontos_perdidos


print("Voce errou o numero sorteado era {}.". format(numero_secreto))
print("Fim do jogo")

Opa, tudo bem?

Dei uma olhada no seu código. E vi que você esqueceu de fechar o parênteses quando faz o input:

nivel == int(input("Digite o nivel de dificuldade")

Além dos parênteses, o operador que você está utilizando não é o de atribuição e sim o de comparação. Essa linha deve ficar assim:

nivel = int(input("Digite o nivel de dificuldade"))

Além disso, no primeiro if você não coloca os dois pontos (:) depois da condição:

if (nivel == 1)
    total_de_tentativas = 20

O código deveria estar assim:

if (nivel == 1):
    total_de_tentativas = 20

Ao final, o código deve ficar parecido com esse:

import random

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

numero_secreto = random.randrange(1,101)
total_de_tentativas = 0
pontos = 1000

print("Escolha o nivel de dificuldade que voce deseja")
print(" (1) facil , (2) medio , (3) dificil ")

nivel = int(input("Digite o nivel de dificuldade"))

if (nivel == 1):
    total_de_tentativas = 20
elif (nivel == 2):
    total_de_tentativas = 10
else:
    total_de_tentativas = 5

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ê acertou!")
        print(numero_secreto)
    else:
        if(maior):
            print("Você errou! O seu chute foi maior do que o número secreto.")
            print(numero_secreto)
        elif(menor):
            print("Você errou! O seu chute foi menor do que o número secreto.")
            print(numero_secreto)

    pontos_perdidos = abs(numero_secreto - chute)
    pontos = pontos - pontos_perdidos


print("Voce errou o numero sorteado era {}.". format(numero_secreto))
print("Fim do jogo")