python - 只要不输入空就打印数字

标签 python io output

如果我要求用户输入数字,只要未输入空字符串,该数字就会继续输入,如果输入空字符串,则程序结束。 我当前的代码是:

n=0
while n !=  "":
    n = int(input("Enter a number: "))

但显然这并不是我想要的。我可以删除 int 输入并将其保留为常规输入,但这将允许所有类型的输入,而我只想要数字。 我之前对此有不同的看法吗?

最佳答案

对空字符串调用 int() 将导致 ValueError,因此您可以将所有内容封装在 try block 中:

>>> while True:
    try:
        n = int(input('NUMBER: '))
    except ValueError:
        print('Not an integer.')
        break


NUMBER: 5
NUMBER: 12
NUMBER: 64
NUMBER: 
not a number.

这还有一个额外的好处,可以捕获任何非 int 的其他内容。

关于python - 只要不输入空就打印数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762493/

相关文章:

python - 使用 python 纯 SASL,我们现在可以编写 python 客户端来访问 Message Hub 吗?

c++ - 仅清除部分控制台输出

linux 内核 printk 输出

c++ - 从 C++ 程序运行 shell 脚本会自动将 shell 脚本的输出显示到控制台吗?

python - 这种广度优先搜索可以做得更快吗?

python - 如何处理多个实例的表单集?

c - 使用 C 代码难以读取 DNA 序列文件

java - 适当释放I/O资源

Python:在字符串的每个字母字符后插入逗号

python - 在python中读取和保存具有可变列数的数据文件