3
respostas

Como integrar o numero de tentativas no While

print("**") print("** Jogo da Adivinhação ") print("****")

t_total = 3

nur_secret= 10

#Nur de tentativas

while t_total >0 :

  nur_user= int(input("Digite um numero:"))

  while nur_user != nur_secret:

     print("Você errou!")
  #caso de nur maior
     if nur_user < nur_secret:
        print("Digite um numero maior")


        nur_user=int(input("Digite um novo numero:"))

   #caso de nur menor
     if nur_user > nur_secret:
          print("Digite um numero menor")

          nur_user=int(input("Digite um novo numero:"))



   #caso de acerto   
     if nur_user == nur_secret:
          print("Parabéns, você acertou !")

     t_total = t_total - 1



     Meu código está assim, mas o contador não vem funcionando
3 respostas

Bom dia, Thales!

Dei uma olhada no seu código e fiz umas alterações por que estava dando uns errinhos:

# Layout
print('*'*25) 
print('**', 'Jogo da Adivinhação', '**') 
print('*'*25)

t_total = 3                                         # Total de tentativas
rodada = 3                                          # Rodada atual
nur_secret = 10                                     # Número secreto

print(f'\nTentativa {rodada} de {t_total}')         # Printa a rodada atual e o número de tentativas

nur_user = int(input("Digite um número: "))         # Recebe entrada do usuário


while True:                                         # Enquanto for verdade faça:
  if nur_user == nur_secret:                        # Se o número do usuário for igual ao secreto quebra o laço e mostra que acertou
    print('Parabéns! Você acertou!')
    break
  elif nur_user != nur_secret:                      # Se não, se o número do usuário for diferente do secreto faça:
    if nur_user < nur_secret:                       # Se o número do usuário for menor que o secreto, print:
      print('Você errou!\nTente um número maior\n')
    elif nur_user > nur_secret:                     # Se não, se o número do usuário for maior que o número secreto, print:
      print('Você errou!\nTente um número menor\n')
  if rodada == 0:                                   # Se não, se a rodada atual for igual a 0 exibe fim de tentativas e quebra o laço
    print('Número de tentativas acabaram :/\nTente novamente!')
    break

  rodada -= 1                                       # rodada recebe rodada menos 1

  print(f'Tentativa {rodada} de {t_total}')         # Printa número da rodada e o total de tentativas

  nur_user = int(input('Digite um número: '))       # Recebe nova entrada do usuário

Para integrar quantidade de tentativas usando o while existem algumas possibilidades e essa foi uma que trouxe pra você dar uma olhada. O que eu fiz foi colocar True no while e criar uma condição para que se a rodada atingisse o número 0 ele quebrasse o laço dizendo que tinha acabado o número de tentativas, pois ao colocar True ele irá repetir o laço indefinidamente até que ou algo retorne falso para ele, ou quebre o laço com o break, considerando isso, coloquei 2 condições que quebrariam o laço:

  1. if nur_user == nur_secret:                        # Se o número do usuário for igual ao secreto quebra o laço e mostra que acertou
     print('Parabéns! Você acertou!')
     break
  2. if rodada == 0:                                   # Se não, se a rodada atual for igual a 0 exibe fim de tentativas e quebra o laço
     print('Número de tentativas acabaram :/\nTente novamente!')
     break

Onde a primeira quebra o laço se o usuário acertar o número secreto e a segunda quebra o laço se o número de tentativas acabar. Deixei o código todo comentado para caso tenha alguma dúvida do que alguma linha faça.

Esse foi o resultado final da saída:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero ter ajudado! Se conseguiu resolver e esclareci sua dúvida, poderia marcar o tópico como solucionado para eu saber, por favor?

Bons estudos :)

Oi, Bruno! Logo após eu eu fiz novamente o código e consegui, mas obrigado pela ajuda!

Ah sim, sucesso então kkkk

Poderia só marcar como concluído então pra ajudar a organizar o fórum, por favor? Aí as pessoas vão saber que esse tópico já tá certo!