Problema no meu código em python

Boa tarde galera, sou novo na programação e estou com um problema no meu código em python e esta igualzinho ao do professor do meu curso, será que alguem poderia me ajudar ?

https://replit.com/@CaioLima26/Jogo-da-adivinhacao#main.py

Olá Caio, tudo bem? Você possui alguns erros de sintaxes simples no seu código, cujo podem ser facilmente corrigidos.

Primeiramente, peguemos a linha 10:

print("Tentativa {} de {}", format(rodada, total_de_tentativas))

A função format é na verdade um método aplicável para uma string. O que isso significa? Basicamente o método tem que ser executado em cima de uma string, ou seja, após o fechamento das aspas, você deveria colocar .format ao invés de , format. Além disso, os argumentos rodada e total_de_tentativas são inteiros e a função só aceita argumentos do tipo string, logo você deverá realizar a conversão dos mesmos. Ficando assim:

  print("Tentativa {} de {}".format(str(rodada), str(total_de_tentativas)))

Além disso, após a linha 20 print("Você acertou") seria interessante colocar o comando break cujo parará a execução do loop vide que o usuário informou o número corretamente. Ficaria assim:

  if acertou:
    print("Você acertou")
    break

Uma ótima quinta-feira para todos.

deu certo aqui cara, muito obrigado pela sua ajuda !

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.")