1
resposta

Calculando Pontuação

Olá, não sei se fiz algo errado, no entanto no calculo da pontuação se eu colocar a condição dentro do bloco Else como sugerido, entendi que quando não acerto o número secreto, o programa não contabiliza a última rodada da pontuação. Em uma tentativa de solucionar coloquei o calculo fora do bloco If, segue código. Ah, consegui colocar cores também, ficou legal.

import random

print('\033[33m*\033[m' * 33)
print('\033[31mBem vindo ao jogo da adivinhação!\033[m')
print('\033[33m*\033[m' * 33)

numero_secreto = random.randrange(1, 101)
total_de_tentativas = 0
pontos = 1000

print('Escolha um nível de dificuldade abaixo: ')
print('\033[1;35m[1] Fácil [2] Médio [3] Difícil\033[m')
nivel = int(input('Digite a opção desejada: '))

if nivel == 1:
    total_de_tentativas = 15
elif nivel == 2:
    total_de_tentativas = 10
else:
    total_de_tentativas = 6

for rodadas in range(1, total_de_tentativas + 1):
    print(f'Tentativa {rodadas} de {total_de_tentativas}')
    chute = int(input('Escolha um número entre 1 e 100: '))

    if chute < 1 or chute > 100:
        print('\033[1;34mOpção inválida, você precisa digitar um número entre 1 e 100!\033[m')
        continue

    acertou = numero_secreto == chute
    maior   = numero_secreto  < chute
    pontos_perdidos = abs(numero_secreto - chute)  # função abs de absoluto nos retornará um número inteiro possítivo, sempre.
    pontos -= pontos_perdidos

    if acertou:
        print(f'\033[1;31mVocê acertou {pontos} pontos, parabéns!!!\033[m')
        break
    else:
        if maior:
            print('Você errou, seu chute foi maior que o número secreto.')
            if rodadas == total_de_tentativas:
                print(f'\033[31mO número secreto era {numero_secreto} e você fez {pontos} pontos.\nTente novamente.\033[m')
        else:
            print('Você errou, seu chute é menor que o número secreto.')
            if rodadas == total_de_tentativas:
                print(f'\033[31mO número secreto era {numero_secreto} e você fez {pontos} pontos.\nTente novamente.\033[m')

        print(' ')

print(' ')
print('\033[1;31mFim de jogo!!!\033[m')
1 resposta
O post foi fechado por inatividade após 3 meses. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!