Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Desse modo também da certo professor

import random

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

numero_secreto = random.randrange(51)  #<== Aqui pode por só o valor máximo que dará certo, no meu caso foi até 50.
total_tentativas = 3

print(numero_secreto)

for rodada in range(1, total_tentativas + 1):
    print("Tentativa {} de {}".format(rodada, total_tentativas))
    chute = input("Digite um número de 1 a 50: ")
    print("Você digitou " , chute)
    chute = int(chute)

    if(chute < 1 or chute > 50):    #<== Aqui já limita os valores que serão impressos na tela, sendo assim não tem necessidade de mexer na função random para limitar.
        print("Só é permitido números de 1 a 50!")
        continue

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

    if(acertou):
        print("Você acertou")
        break
    else:
        if(maior):
            print("Você errou! O seu chute foi maior que o número secreto.")
        elif(menor):
            print("Você errou! O seu chute foi abaixo do número secreto")


print("Fim do Jogo")
3 respostas

Bom, isso foi o que eu entendi. :)

Olá Vulquimar,

Só tem um detalhe no randrange, utilizando apenas um valor (51 no seu caso) o randrange vai gerar números de 0 a 50, mas no caso do jogo o professor não quer que o número secreto seja 0, o número secreto deve ser no mínimo 1. Por isso que ele define o valor inicial no randrange como 1.

# de 0 a 50
numero_secreto = random.randrange(51)

# de 1 a 50
numero_secreto = random.randrange(1, 51)

Mas continue testando, é sempre bom tentar novas maneiras e tentar ir fazendo diferente como você fez.

solução!

Sim, eu to ligado. Só quis informar que do modo que coloquei também roda assim como foi demonstrado em aula. :) Mas valeu pela atenção e explicação Lucas.