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

Quero mostra o número secreto quando acabar as tentativas do usuário e ele não acertar o número secreto!

import random

print("*********************")
print("Jogo de adivinhação.")
print("*********************")

numero_secreto = random.randrange(1, 100 + 1)
tentativas = 0
pontos = 1000

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

nivel = int(input("Escolha o nível de dificuldade!: "))

if(nivel == 1):
    tentativas = 20
elif(nivel == 2):
    tentativas = 10
elif(nivel == 3):
    tentativas = 5

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


    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(f"Parabéns! Você acertou e fez {pontos} pontos!")
        break

    else:
        if(maior):
            print("Você errou! Seu chute foi maior que o número secreto!")
        elif(menor):
            print("Você errou! Seu chute foi menor que o número secreto!")
        pontos_perdidos = abs(numero_secreto - chute)
        pontos = pontos - pontos_perdidos

if(O que eu coloco aqui para testar duas condições? ):
    print(f"O número secreto é {numero_secreto}.")

print("Fim de jogo!")
4 respostas

Oi Leonardo tudo bem?

Faça assim



import random

print("*********************")
print("Jogo de adivinhação.")
print("*********************")

numero_secreto = random.randrange(1, 100 + 1)
tentativas = 0
pontos = 1000

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

nivel = int(input("Escolha o nível de dificuldade!: "))

if(nivel == 1):
    tentativas = 20
elif(nivel == 2):
    tentativas = 10
elif(nivel == 3):
    tentativas = 5

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


    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(f"Parabéns! Você acertou e fez {pontos} pontos!")
        break

    else:
        if(maior):
            print("Você errou! Seu chute foi maior que o número secreto!")
        elif(menor):
            print("Você errou! Seu chute foi menor que o número secreto!")
        pontos_perdidos = abs(numero_secreto - chute)
        pontos = pontos - pontos_perdidos
        if(rodada==tentativas ):
          print(f"O número secreto é {numero_secreto}.")



print("Fim de jogo!")

Espero ter ajudado!!!

mas eu não quero que o número secreto apareça caso ele acerte na última tentativa.

Eu testei nesse site https://repl.it/repls/AgedIcyCosmos

E obtive esse resultado

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
*********************
Jogo de adivinhação.
*********************
Qual nível de dificuldade deseja?
(1)-Fácil (2)-Médio (3)-Difícil
Escolha o nível de dificuldade!: 1
Tentativa 1 de 20
Digite um número entre 1 e 100: 50
Você digitou: 50
Você errou! Seu chute foi menor que o número secreto!
Tentativa 2 de 20
Digite um número entre 1 e 100: 75
Você digitou: 75
Você errou! Seu chute foi maior que o número secreto!
Tentativa 3 de 20
Digite um número entre 1 e 100: 60
Você digitou: 60
Você errou! Seu chute foi menor que o número secreto!
Tentativa 4 de 20
Digite um número entre 1 e 100: 65
Você digitou: 65
Você errou! Seu chute foi menor que o número secreto!
Tentativa 5 de 20
Digite um número entre 1 e 100: 70
Você digitou: 70
Parabéns! Você acertou e fez 960 pontos!

O que acontece, se ele acerta vai para o break e não passa pelo if que revela que número era.

solução!

Eu testei aqui e não tive esse resultado vou testar de novo.