Python中具有低边界和高边界的输入验证



我需要帮助创建一个函数,以确保用户的输入有效。如果它无效,那么我们需要要求他们重新输入不同的信息。

第一个函数需要参数,prompt,low,high,其中prompt要求用户输入,low是下边界,high是上边界。

以下是我目前所拥有的:

def get_int(prompt,low,high):
inputs= int(input(prompt))
while inputs<= low and inputs >=high:
inputs= int(input(prompt))
return inputs

您的条件顺序很奇怪。

这将确保输入在低边界和高边界之间。如果是,则返回输入,否则将再次询问。我添加了一条可选的消息来通知用户预期的范围。

def get_int(prompt, low, high):
while True:
inputs = int(input(prompt))
if low <= inputs <= high:
return inputs
#      else:
#          print(f"Please provide a number between {low} and {high}.")

如果inputs <= low为true,则inputs >= high不可能同时为true。因此,通过inputs <= low and inputs >= high同时检查两者是否为真是没有意义的,而且总是错误的。如果您使用or而不是and:,您的代码将正常工作

def get_int(prompt,low,high):
inputs = int(input(prompt))
while inputs <= low or inputs >= high:
inputs = int(input(prompt))
return inputs

也许使用递归?像这样:

def user_input():
value = input("Please enter input: ")
if not low <= value <= high:
user_input()
return value

Recusion只能工作到一定的深度,但这可能是数千个输入。

相关内容

  • 没有找到相关文章

最新更新