1
resposta

Não apresenta as opções de input "Escolha o nível: "

Oi

Pessoal, meu código ao ser executado, não está apresentando o texto para input: "Escolha o nível: " e nem o : "Qual a chute?"

o que estou fazendo de errado? já revisei e não consegui identificar.

import random

print ("********")
print ("Jogo da chute")

tentativas = 0
numero_secreto = round(random.randrange(1, 100))
rodada = 1
pontos = 100

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

nivel = int(input("Escolha o nível: ")) // aqui não apresenta o texto

if (nivel == 1):
    tentativas = 20

elif(nivel == 2):
    tentativas = 10

elif (nivel == 3):
    tentativas = 5



print (numero_secreto)

for rodada in range(1, tentativas + 1): 

    print ("********")
    print ("Tentativa {} de {}". format(rodada, tentativas))
    print ("********")

    chute = int(input("Qual a chute a ser revelada?"))

    if(chute < 0 or chute > 100):
        print("!!! ATENÇÃO !!! \nVocê deve digitar um número entre 0 e 100")  
         #comando continue 
        continue

    if(chute == numero_secreto):
        print("Você acertou a chute a ser revelada")
        #comando break 
        break

    else:
        if(chute > numero_secreto):
         print("Seu Palpite foi", chute , "e é MAIOR que a chute a ser revelada")
        pontos_perdidos = abs(numero_secreto - chute)
        pontos = pontos - pontos_perdidos 

        if(chute < numero_secreto):
            print("Seu palpite foi", chute, "e é MENOR que a chute a ser revelada")
            pontos_perdidos = abs(numero_secreto - chute)
            pontos = pontos - pontos_perdidos        

print (pontos)            
print (10 * "-")
print ("Fim do jogo!")
1 resposta

Olá, Rafael. Aqui funcionou como o esperado.. Gostaria de lhe dar algumas dicas quanto ao código e assim deixar tudo mais prático. Lembrando que não está errado, mas apenas deixá-lo mais pythonico. Rsrsrs

1 - Ao importar uma biblioteca do Python, dê preferência em importar somente o(s) módulo(s) que vai(ão) ser usado(s) no código pois isso pode dar performance na execução. Claro que códigos pequenos não tem um grande impacto em performance, mas quanto maior fica, mais pode consumir recursos. Nesse exemplo, ao invés de usar o import random, eu usaria o from random import randint pois nesse caso como o código necessita trabalhar apenas com números inteiros aleatórios o randint rsolve e ficaria assim:


from random import randint

print ("********")
print ("Jogo do chute")

tentativas = 0
numero_secreto = randint(1, 100)

Em uma oportunidade, dê uma olhada na documentação do Python e procure pelo módulo random pra entender e aprender mais coisas sobre ele e outros módulos do Python. Uma boa parte da documentaç

2 - Para simplificar ainda mais na hora de formatar um print em Python, procure usar da seguinte forma:

print(f"Tentativa {rodada} de {tentativas}")

Deixa a leitura do código muito mais intuitiva em caso de manutenção. A letra f antes das aspas indica que existe uma função f-string dentro do print e as variáveis a que se referem devem ser colocadas, cada uma, dentro de chaves { }

3 - Outra forma de formatar caracteres que precisam ser repetidos várias vezes, seria como nos exemplos abaixo:


pontos =100

print(f'Marcou {pontos:20} pontos!') #20 espaços
print(f'Marcou {pontos:^20} pontos!') #20 espaços centralizado
print(f'Marcou {pontos:.^20} pontos!') #20 espaços centralizado com traço
print(f'Marcou {pontos:.<20} pontos!') #alinhado a esquerda
print(f'Marcou {pontos:.>20} pontos!') #alinhado a direita

Já vai dar pra ajudar a economizar linhas de código e deixá-lo mais clean.

Um outro detalhe que percebi é que parece que você já teve contato com outro tipo de linguagem de programação (Java, C++, C#, etc) pelo fato de ter usado duas barras pra fazer um comentário


nivel = int(input("Escolha o nível: ")) // aqui não apresenta o texto

Em Python, o comentário de uma linha somente seria assim:


nivel = int(input("Escolha o nível: ")) #aqui não apresenta o texto

Se for esse o caso de você já ter tido contato com outra linguagem de programação, é muito bom porque a curva de aprendizado é bem menor e isso facilita ainda mais a compreender a sintaxe da linguagem. Entenda tudo isso apenas como dica e não como correção. Espero que, de alguma forma, tenha ajudado.