python - 如何检查一个意味着整数的输入是否为空(在python中)?
问题描述
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)
正如您在此处看到的,代码应该检查输入是否为整数,并且它是否高于某个值,默认情况下为 0,但可以更改。
当用户输入随机字母和符号时,它会看到值错误并返回“仅限整数!(请不要留空)”。
我希望能够检查用户是否没有输入任何内容,在这种情况下,只有它应该输出“这是空白/空”,目前处理这个问题的方法是根本不检查,只说“仅整数!(请不要将此留空)”,以防出现值错误。我希望能够更具体,而不是一次吐出所有的原因。谁能帮帮我吗?
提前致谢。
解决方案
您可以将输入和转换为 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 = input(output_message)
if not user_input:
print("Please do not leave this blank")
continue
user_input = int(user_input)
if user_input >= above:
return int(user_input)
break
else:
print(error_1.format(above))
except ValueError:
print(error_2)
推荐阅读
- c# - 加载本地 XML 文档
- javascript - 多页表单:如何根据请求无限期地重复一页?HTML、CSS、JS
- dask - 如何在 dask 数组维度上迭代 da.linalg.inv
- python - 向现有表添加新列 - Flask Sqlalchemy
- canvas - 在垂直滚动排列多个列表框的同时水平滚动
- javascript - 制表符:如何在数据编辑/更改后触发过滤器
- performance - 指令与每秒周期 - 以赫兹为单位实际测量的是什么?
- php - 未安装 Zip PHP 扩展。请安装并重试。拉拉维尔
- reactjs - 无法在 React/Redux 中的组件之间传递数据
- javascript - 您如何让机器人在嵌入中发布随机 gif?