1
resposta

[Dúvida] Código não roda na primeira tentativa como nas demais

Estou fazendo o curso "Python: começando com a linguagem" e meu código está com algum problema pois quando dou run, a frase que é exibida no console na primeira tentativa não corresponde às frases que dão pista se o número secreto é maior ou menor do que o chute... alguém poderia me auxiliar? A partir da segunda tentativa a mensagem é exibida sem problemas, mas na primeira apenas mostra a mensagem "você digitou", seguida do número, sem a pista. Segue Código:

import random

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

numero_secreto = round(random.random()*100) total_de_tentativas = 3

chute = int(input('Digite o seu número entre 1 e 100:')) print('Você digitou ',chute)

for rodada in range(1,total_de_tentativas+1): print(f'Tentativa {rodada} de {total_de_tentativas}')

chute = int(input('Digite o seu número entre 1 e 100:'))
print('Você digitou:',chute)

if (chute < 1 or chute > 100):
    print('Você deve escrever 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!')
    break
else:
    if(maior):
        print('Tente outra vez, o número que você chutou é maior que o número secreto')
    elif(menor):
        print('Tente outra vez, o número que você chutou é menor que o número secreto')

print('***********************************') print('Fim do jogo')

1 resposta

import random

def obter_palpite_usuario(): while True: try: palpite = int(input('Digite o seu número entre 1 e 100: ')) if 1 <= palpite <= 100: return palpite else: print('Você deve escrever um número entre 1 e 100.') except ValueError: print('Por favor, insira um número válido.')

def principal(): print('Bem-vindo ao jogo de adivinhação!') numero_secreto = random.randint(1, 100) total_de_tentativas = 3

for rodada in range(1, total_de_tentativas + 1):
    print(f'Tentativa {rodada} de {total_de_tentativas}')
    palpite = obter_palpite_usuario()

    if palpite == numero_secreto:
        print('Parabéns! Você acertou!')
        break
    else:
        if rodada != total_de_tentativas:
            if palpite > numero_secreto:
                print('Tente outra vez, o número que você chutou é maior que o número secreto.')
            else:
                print('Tente outra vez, o número que você chutou é menor que o número secreto.')
        else:
            continue
else:
    print(f'Que pena! Suas {total_de_tentativas} tentativas acabaram. O número secreto era {numero_secreto}.')

if name == "main": principal()

esse codigo deve resolver seu problema. mas acho q 3 tentarivas é bem pouco kkkk