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

Cada vez mais interessante

Está um pouquinho alterado, algumas coisinhas só, mas funcional.

Queria só tentar colocar uma condição para quando acabarem as tentativas, se esgotarem exibir um texto "Suas tentativas acabaram", mas não tô sabendo onde implementar essa condição.

Tentei colocar:

if(total_de_tentativas > total_de_tentativas):
    print("Suas tentativas acabaram")

Mas infelizmente não consegui executar essa condição. Talvez seja por que quando chega a 3 tentativas já finalize a execução.

import random

print("********************************")
print("Bem vindo ao jogo de Adivinhação")
print("********************************")
print("Tente adivinhar meu número secreto entre 1 a 100. Boa sorte!!!")

numero_secreto = random.randrange(1,101)
total_de_tentativas = 3

for rodada in range(1, total_de_tentativas + 1):
    print("Seu total de tentativas é: {} de {}." .format(rodada, total_de_tentativas))
    chute_str = input("Digite o seu número: ")
    print("O número que chutou foi: ", chute_str)
    chute = int(chute_str)

    if(chute < 1 or chute > 100):
        print("Você deve digitar um número dentre 1 a 100.")
        continue

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

    if(acertou):
        print("Você acertou!")
        break
    else:
        if(maior):
            print("Você errou! Seu número é MAIOR que o número secreto.")
        elif(menor):
            print("Você errou! Seu número é MENOR que o número secreto.")

print("********************************")
print("Fim do jogo")
3 respostas
solução!

Boa noite!

Você precisa tratar a rodada:

if(rodada >= total_de_tentativas):
    print("Suas tentativas acabaram")

este trecho, deverá ficar depois de:

elif(menor):
            print("Você errou! Seu número é MENOR que o número secreto.")

Bons estudos!

Fala Vinícius, tudo bem?

Seu if nunca vai ser True comparando a variável com ela mesma, ou seja, nunca o 3 vai ser maior do que 3. Faça um teste com o trecho abaixo.

Abraço

if(rodada > total_de_tentativas):
    print("Suas tentativas acabaram")

THIAGO TREVISAN ANGELICO

Muito obrigado!!!

Estava tentando encaixar isso, mas ajuda de ambos os Tiagos (com "h" e sem "h"). Como o Tiago Elias comentou, o variável não iria da true da forma que estava tentando colocar.

E Thiago Trevisan, já estava imaginando que seria após:

elif(menor):
            print("Você errou! Seu número é MENOR que o número secreto.")

Pois justamente na minha lógica que deveria imprimir a string após os erros acabarem. Minha lógica pelo menos nisso estava correta.

Agradeço as ajudas de ambos. É normal se apaixonar a primeira vista por Python? hahaha