Olá,
Segue meu código, mesmo um pouco diferente do demostrado na aula esta validada com os testes realizados pelo professor. Mesmo deixando identico ao da aula o erro permanece.
Erro: ao realizar a última rodada o programa não subtrai a pontuação dos pontos.
import random
print('*'*20)
print('Jogo da adivinhação')
print('-'*20)
n = random.randint(1, 10) # valor aleatório a ser acertado
print('opções:\n 1 - 5 tentativas \n 2 - 3 tentativas \n 3 - 1 tentativa \n')
nivel = int(input('Escolha seu nível de jogo: '))
tentativa = 0
if nivel == 1:
tentativa = tentativa + 5
elif nivel == 2:
tentativa = tentativa + 3
elif nivel == 3:
tentativa = tentativa + 1
pontos = 10
for rodada in range(1, tentativa + 1):
print(n)
msg_pontos = f'Sua pontuação atual é {pontos}.'
print(f'Tentativa {rodada} de {tentativa}.')
chute = int(input('Escolha um número entre 1 e 10: '))
acerto = chute == n
erro_b = round((n-chute)/n, 2)*100
erro_a = round((chute-n)/n, 2)*100
if chute < 1 or chute > 10:
print('Valor escolhido fora das opções, por favor, escolha outro valor.')
continue
if acerto:
print('Você acertou!!!', msg_pontos)
break
elif chute < n:
print(f'Você errou {erro_b :.2f}% abaixo.\n')
elif chute > n:
print(f'Você errou {erro_a :.2f}% acima.\n')
pontos = pontos - abs(n-chute)
print(msg_pontos)
print('Fim de Jogo!!!')