1
resposta

se eu acertar antes das tentativas acabarem o código não finaliza

print("-----------")
print("ADIVINHAÇÃO")
print("-----------")
#Jogo iniciado
numero_secreto= 42
tentativas = 3
rodada= 1



while (rodada<= tentativas): #Enquanto ainda há tentativas executa-se o código abaixo

    print('tentativa {} de {}'.format(rodada,tentativas))
    palpite_str = input("Adivinhe um número que está entre 1 e 100: ")
    palpite_int = int(palpite_str)

    print("seu chute é: ", palpite_int)

    acertou = numero_secreto == palpite_int
    maior = palpite_int > numero_secreto
    menor = palpite_int < numero_secreto

    if (acertou):
        print("certa resposta")
    elif (maior):
        print("chutou alto")
    elif (menor):
        print("chutou baixo")

    rodada = rodada + 1



print("fim do jogo")
1 resposta

Olá Filipe Silva, tudo tranquilo? Perceba que está utilizando um laço de repetição "enquanto" (while) e condição de parada que colocou nele é somente quando o número de tentativas acaba, o que você precisa é interromper o processo do laço assim que o usuário acertar o número secreto. Para interromper laços de repetição podemos usar uma palavra reservada break em conjunto com a condição desejada como por exemplo:

i = 0
iteracoes = 5
while i < iteracoes:
    i+=1
    print(i)
    if i == 3:
        break

Nesse caso, a saída do código é a seguinte

1
2
3

Agora deixo para você tentar descobrir em qual parte do seu código uma condição parecida com esse se encaixa. Espero ter ajudado, bons estudos! :)