3
respostas

Resolução com número aleatório

Coloquei um número aleatório para ficar mais interessante:

import random

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

chute = int(input("Digite o seu número chute:"))

numero_secreto = int(random.random()*42)

igual = chute == numero_secreto

while chute != numero_secreto:

    menor = numero_secreto < chute
    maior = numero_secreto > chute

    if menor:
        chute = int(input("Errou!!! o número secreto é menor, tente novamente:"))
    elif maior:
        chute = int(input("Errou!!! o número secreto é maior, tente novamente:"))
else:
    print("Você acertou!!! O número pensado era o:", numero_secreto)

print("Fim do jogo.")
3 respostas

Olá! Estou começando agora no Python

Quando fiz este código eu prefiri utilizar o random.randrange(1, 101). Sabendo que o 101 não está incluído nesse caso, ficando de 1 a 100.

Assim não me preocupo com o arredondamento dos números. Ainda sim, fazendo dessa forma o random.random retorna um valor entre 0,0 e 1,0, multiplicando ele por 42 você tem inúmeras possibilidades de ter um número float (fracionado). Seria essa a ideia mesmo?

Espero ter contribuído.

Olá Álvaro!!!

random.randrange() é uma ótima opção, pq assim tu sabe exatamente de qual a qual número vem. Eu sempre usei esse mas pra variar um pouco eu utilizei a random.random() . Como foi a primeira vez que eu usei, também tive essa dúvida, mas percebi que apenas colocando int na frente ele só retorna números inteiros, então o resultado varia entre 0 e 42. Funcionou bem, mas se eu quisesse outro range específico eu teria que voltar para o random.randrange() mesmo.

Boa noite Laura.

Ah, realmente, não me atentei ao int

Refiz a atividade e dessa vez também fiz como você, utilizando o int(random.random()n), porém não gostaria que tivesse a possibilidade do 0 então retornei ao randrange

Agradeço pelo tópico.