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')