2
respostas

Inserindo qualquer número ele acusa "Você errou! O seu chute foi menor do que o número secreto. "

Indendente do número inserido (maior ou menor) ele informa que é sempre um chute menor. Meu código:

import random

print("****")

print("Bem vindo ao jogo de adivinhacao")

print("****")

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

print("Qual o nível de dificuldade?")print("(1) Fácil (2) Médio (3) Difícil")

nivel = int(input("Defina o nível: "))

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 e fez {} pontos!".format(pontos))   
    break  
else:
    if (maior):
        print("Você errou! O seu chute foi maior do que o número secreto. ")
    elif (menor):
        print("Você errou! O seu chute foi menor do que o número secreto. ")
    pontos_perdidos = abs(numero_secreto - chute) 
    pontos = pontos - pontos_perdidos   

print("Fim do jogo! ")
2 respostas

Boa noite Robson,

Python é uma linguagem em que a indentação faz muita diferença, portanto quando for compartilhar um código no fórum certifique-se de que ele está idêntico ao seu e bem formatado.

Testei seu código e ele funcionou normalmente, verifique se você está rodando ele em um compilador de python 2.7.

No python 2.7 a função input é diferente e esse código nunca vai funcionar.

Abaixo segue seu código testado:

import random

print("****")

print("Bem vindo ao jogo de adivinhacao")

print("****")

numero_secreto = random.randrange(1,101) 

total_de_tentativas = 0 

pontos = 1000

print("Qual o nível de dificuldade?")
print("(1) Fácil (2) Médio (3) Difícil")

nivel = int(input("Defina o nível: "))

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 e fez {} pontos!".format(pontos))   
      break  
  else:
    if (maior):
      print("Você errou! O seu chute foi maior do que o número secreto. ")
    elif (menor):
      print("Você errou! O seu chute foi menor do que o número secreto. ")
    pontos_perdidos = abs(numero_secreto - chute) 
    pontos = pontos - pontos_perdidos   

print("Fim do jogo! ")

Abraços

Então, testei no python 3 (Só tenho esta versão mesmo). Já fechei, reinstalei, mas fica dando a mesma informação. Amanhã, com a cabeça mais tranquila, pela manhã vou verificar melhor e dou um feedback!