2
respostas

Se eu quisesse que ao usuário digitar um número inválido, a tentativa não fosse gasta?

Gostaria que ao usuário digitar um número menor que 1 ou maior que 100, ele recebesse um alerta mas não gastasse uma das tentativas. Tentei fazer o código abaixo mas não deu certo, alguém consegue me ajudar?

for rodada in range (1,total_de_tentativas + 1):
    print ('Tentativa {} de {}'.format(rodada, total_de_tentativas))
    chute = int(input('Digite seu número entre 1 e 50: '))
    print('Você digitou ', chute)

    if (chute < 1 or chute > 50 ):
        print ('Você deve digitar um número entre 1 e 100')
        rodada = rodada - 1 
        continue
2 respostas
Removido a pedido do usuario.

Pensei a mesma coisa e coloquei uma função while, basicamente para insistir em fazer o usuário digitar um número correto kkkkkk.

for rodada in range(1, total_de_tentativas + 1):
    print(f"Tentativa {rodada} de {total_de_tentativas}")
    chute_str = input(f"Digite um número de 1 a {numero_max}: ")
    print("Você digitou: ", chute_str)
    chute = int(chute_str)
    while(chute < 1 or chute > numero_max):
        print("Você digitou um número inválido. Tente novamente.")
        print(f"Tentativa {rodada} de {total_de_tentativas}")
        chute_str = input(f"Digite um número de 1 a {numero_max}: ")
        print("Você digitou: ", chute_str)
        chute = int(chute_str)

    acertou = chute == numero_secreto
    maior = chute > numero_secreto
    menor = chute < numero_secreto

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software