如何检查表示为整数的输入是否为空(在python中)?

如何检查表示为整数的输入是否为空(在python中)?,python,validation,input,Python,Validation,Input,正如您在这里看到的,代码应该检查输入是否为整数,并且它是否高于某个值,默认值为0,但可以更改 当用户输入随机字母和符号时,它会看到有一个值错误,并返回“仅限整数!(请不要将此留空)” 我希望能够检查用户是否没有输入任何内容,在这种情况下,它应该只输出“This is blank/empty”,当前的处理方法是根本不检查,只说“Integers only!(请不要将此留空)”,以防出现值错误。我希望能够更具体,而不是一下子说出所有的理由。有人能帮我吗 提前感谢。您可以将输入和转换为int分成两个步

正如您在这里看到的,代码应该检查输入是否为整数,并且它是否高于某个值,默认值为0,但可以更改

当用户输入随机字母和符号时,它会看到有一个值错误,并返回“仅限整数!(请不要将此留空)”

我希望能够检查用户是否没有输入任何内容,在这种情况下,它应该只输出“This is blank/empty”,当前的处理方法是根本不检查,只说“Integers only!(请不要将此留空)”,以防出现值错误。我希望能够更具体,而不是一下子说出所有的理由。有人能帮我吗


提前感谢。

您可以将输入和转换为int分成两个步骤,如下所示:

def aboveIntegerInput(output_message="Enter your number: ", error_1="Please enter a number above {}!", error_2="Integers only!(Please do not leave this blank)", above=0):
  while True:
    try:
      user_input = int(input(output_message))
      if user_input >= above:
        return int(user_input)
        break
      else:
        print(error_1.format(above))
    except ValueError:
      print(error_2)

您可以将输入和到int的转换分为两个步骤,如下所示:

def aboveIntegerInput(output_message="Enter your number: ", error_1="Please enter a number above {}!", error_2="Integers only!(Please do not leave this blank)", above=0):
  while True:
    try:
      user_input = int(input(output_message))
      if user_input >= above:
        return int(user_input)
        break
      else:
        print(error_1.format(above))
    except ValueError:
      print(error_2)

你可以这样做:

def superIntegerInput(output_message=“Enter your number:”,error_1=“请输入{}上方的数字!”,error_2=“Integers only!”,over=0,error_3=“请不要将此留空”):
尽管如此:
用户输入=输入(输出消息)
尝试:
用户输入=int(用户输入)
如果用户输入>=以上:
返回用户输入
打破
其他:
打印(错误1.格式(如上))
除值错误外:
如果(非用户输入):
打印(错误3)
其他:
打印(错误2)

我将输入移到try/except块之外,以便能够在except中使用它!这对我来说很好,我希望这是您所需要的。

您可以这样做:

def superIntegerInput(output_message=“Enter your number:”,error_1=“请输入{}上方的数字!”,error_2=“Integers only!”,over=0,error_3=“请不要将此留空”):
尽管如此:
用户输入=输入(输出消息)
尝试:
用户输入=int(用户输入)
如果用户输入>=以上:
返回用户输入
打破
其他:
打印(错误1.格式(如上))
除值错误外:
如果(非用户输入):
打印(错误3)
其他:
打印(错误2)

我将输入移到try/except块之外,以便能够在except中使用它!这对我来说很好,我希望这是您需要的。

我在这里发现的问题是,如果您将其留空,它将中断循环(第7行),因此函数将无法完成其工作。但是感谢您的输入。您是对的,我已经编辑了代码:通过使用continue而不是break,您不会跳出循环。我在这里发现的问题是,如果您将其留空,它将跳出循环(第7行),因此函数将无法完成其工作。但是谢谢你的输入。你是对的,我已经编辑了代码:通过使用continue而不是break,你不会跳出循环。很高兴我能帮助你,不客气!顺便说一下,我注意到在return语句中,您第二次将user_输入转换为int,这是不需要的,因为如果解释器到达return,user_输入必须已经是int了。我编辑了我的答案。很高兴我能帮上忙,不客气!顺便说一下,我注意到在return语句中,您第二次将user_输入转换为int,这是不需要的,因为如果解释器到达return,user_输入必须已经是int了。我编辑了我的答案。