Estou fazendo uma validação de erro para entrada de dados de usuário em um programa fictício e utilizando essa função para induzir o usuário a dar entrada de um número:
def validaInt(pergunta, min, max):
try:
x = int(input(pergunta))
except ValueError:
print('Digite uma opção entre 1 e 3')
x = int(input(pergunta))
while x < min or x > max:
print('Valor inválido')
x = int(input(pergunta))
return x
O problema é que se o usuário erra no tipo de entrada (erro de digitação de número para letra por exemplo), o programa só pergunta mais uma vez e caso o erro aconteça novamente ele encerra.
Como posso tornar um looping também nesse tratamento de erro?