Olá, tudo bem?
Até o momento o código feito consegue detectar se o usuário deu um chute menor do que 1 ou maior do que 100 e assim fornece uma mensagem para o usuário a respeito do intervalo sugerido. Contudo, caso o usuário digite uma string, o Python será incapaz de transformá-la em um número inteiro e por isso apresentará um erro.
O que podemos fazer em relação a isso? Ou seja, como podemos melhorar o código para que ele possa também detectar se o usuário digitou uma string, apresentar uma mensagem de erro e o programa seguir para a próxima tentativa?
print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")
numero_secreto = 42
total_de_tentativas = 3
for rodada in range(1, total_de_tentativas + 1):
print("Tentativa {} de {}".format(rodada, total_de_tentativas))
chute_str = input("Digite um número entre 1 e 100: ")
print("Você digitou " , chute_str)
chute = int(chute_str)
if(chute < 1 or chute > 100):
print("Você deve digitar um número entre 1 e 100!")
continue
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if(acertou):
print("Você acertou!")
break
else:
if(maior):
print("Você errou! O seu chute foi maior do que o número secreto.")
elif(menor):
print("Você errou! O seu chute foi menor do que o número secreto.")
print("Fim do jogo")
Desde já obrigado!