Boa tarde. O problema eh q a funcao "format()" soh aceita tipo string para os 2 argumentos. Tenta converter os argumentos para string dessa forma:
print("Tentativa {} de {}", format(str(rodada), str(total_de_tentativas)))
Assim vc forca que os argumentos q entrarem no format serao do tipo string.
Isso vai fazer o teu codigo rodar.
Ou vc pode substituir a sua linha 10 por isso aqui:
print(f"Tentativa {rodada} de {total_de_tentativas}")
Alem de ser mais clean, eh mais simples de usar essa forma de formatacao.
Além da solução do @aschull, venho humildimente compartilhar minha opnião.
Seria melhor não criar variáveis para armazenar condições, visto que o 'if' em si é para esta função. Faça a condição dentro do próprio if, já que não será utilizado as variaveis (acertou, maior e menor) em nenhuma outra parte do código. Digo isso por padronização e lhe auxiliar no costume de leitura de códigos.
Ao invés disso:
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if acertou:
print("Você acertou")
else:
if maior:
print("Você errou! chute maior que o número secreto.")
elif menor:
print("Você errou! chute menor que o número secreto.")
Faça isso:
if (chute == numero_secreto):
print("Você acertou")
elif (chute > numero_secreto):
print("Você errou! chute maior que o número secreto.")
elif (chute < numero_secreto):
print("Você errou! chute menor que o número secreto.")