Oi, Isadora! Beleza?
Desculpe a demora em te responder.
Percebo que você está no caminho certo, mas há alguns pontos que precisam ser ajustados no seu código, acompanhe comigo:
Dentro do seu loop while
, você está verificando se n != 7
, mas n
é uma variável fixa que você definiu como 7 no início do seu código. O que você realmente quer verificar é se o palpite do jogador (p
) é diferente de n
. Além disso, você está convertendo o palpite do jogador para uma string com a função str()
. No entanto, você deveria manter p
como um número inteiro para poder compará-lo com n
.
Um outro ponto diz respeito à quantidade de tentativas realizadas pelo usuário. Esse número é obtido a partir da quantidade de vezes que o loop aconteceu (contabilizado através da variável cont
) — logo, precisamos apresentar cont
no print()
final.
Por fim, quando o usuário acertar o número e sair do loop, precisaremos somar +1
à cont
, pois o contador começa com o valor 0
. Dessa forma, obteremos a quantia correta de palpites.
Um possível resultado para o seu código é este:
n = 7
cont = 0
p = int(input("Adivinhe um número de 0 a 10: "))
while p != n:
cont += 1
p = int(input('Você não acertou. Tente novamente!'))
cont += 1
print(f'Você acertou o número! Você deu {cont} palpites')
Nesse sentido, enquanto o jogador não adivinhar o número, o while
continuará sendo executado e os palpites irão crescer. Quando ele acertar, o loop acabará e a mensagem final apresentará quantas tentativas foram efetuadas até chegar na opção correta!
Isadora, espero que minha explicação te ajude! Qualquer dúvida, fico à disposição.
Um abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!