2
respostas

Terminei o código mas está muito poluido, tem alguma dica para compactar?

Esse é o código

import random

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

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

print(numero_secreto)
print("Ponto inicial: 1000")
print("Escolha um dos níveis:")
print("(1) Fácil (2) Médio  (3) Difícil")
nivel = int(input("Escolha sua dificuldade: "))

if(nivel == 1):
    total_de_tentativas = 20
    print("Voce é fraco!")
else:
    if(nivel == 2):
        total_de_tentativas = 10
        print("Voce é um aspirante")
    elif(nivel == 3):
        total_de_tentativas = 5
        print("Você é brabo")



for rodada in range (rodada, total_de_tentativas + 1):
    print("Tentativa {} de {}".format(rodada, total_de_tentativas))
    chute_str = input("Digite seu numero: ")
    print("Voce digitou", chute_str)
    chute = int(chute_str)

    if(chute < 1 or chute > 100):
        print("Apenas numeros de 0 a 100 sâo considerados válidos")
        continue

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

    if(acertou):
        print("Voce acertou e fez {} pontos".format(pontos))
        break
    else:
        if(maior):
            print("Voce errou, seu numero esta acima do necessario")
        elif(menor):
            print("Voce errou, seu numero esta abaixo do necessario")
            pontos_perdidos = abs(numero_secreto - chute)
            pontos = pontos_iniciais - pontos_perdidos



print("Fim de jogo")
print("Pontos finais:",pontos_iniciais + pontos)
2 respostas

Você pode começar juntando os print em uma só linha de código. Com três " (ou ') você abre um print estendido, com os "\n" você quebra a linha e pula para a próxima. Usando algo como:

print ("""texto \n texto da próxima linha""")

Você pode usar o PEP 8 para organizar o código. Outro meio seria criar objetos e instancia-los no programa principal, assim você teria um programa mais enxuto e melhor de ler.