Python-测试原始输入是否没有条目

Python-测试原始输入是否没有条目,python,Python,我有一个最愚蠢的问题可能 如何判断原始输入中是否从未键入任何内容?(空) 特别是第2行。。。如果期末考试没有输入,我将如何测试?代码对输入的任何内容都可以正常工作,但是如果没有提供条目,代码就会中断 我敢肯定它非常简单,但任何帮助都是非常感谢的。没有条目会导致空字符串;空字符串(如空容器和数字零)测试为布尔值false;只需测试而非最终版本: if not final: print "You need to type something in..." 您可能希望去掉字符串中的所有空白,

我有一个最愚蠢的问题可能

如何判断原始输入中是否从未键入任何内容?(空)

特别是第2行。。。如果期末考试没有输入,我将如何测试?代码对输入的任何内容都可以正常工作,但是如果没有提供条目,代码就会中断


我敢肯定它非常简单,但任何帮助都是非常感谢的。

没有条目会导致空字符串;空字符串(如空容器和数字零)测试为布尔值false;只需测试
而非最终版本

if not final:
    print "You need to type something in..."
您可能希望去掉字符串中的所有空白,以避免在只输入空格或制表符时中断:

if not final.strip():
    print "You need to type something in..."
但是,您仍然需要验证用户输入的整数是否有效。您可以捕获
ValueError
异常:

final = raw_input("We will only cube numbers that are divisible by 3?")
try:
    final = int(final)
except ValueError:
    print "You need to type in a valid integer number!"
else:
    # code to execute when `final` was correctly interpreted as an integer.

@阿尔沙吉:它应该很好用;还有一点不对劲,代码按照广告中的方式工作。我在if语句中添加了“not final”,一切正常。可能是因为我使用的编译器使用的是比3.3更旧的python吗?@NicholasHazel:不,自从python的第一个版本在早期的某个地方引入了
raw\u input()
,您的代码和我的代码都已经运行了。我是否应该在最后一步中取消转换为int…?没错;我的观点是,这个问题无法回答,因为实际问题无法确定。您的代码如何中断?测试
len(final)==0
有点冗长,但应该可以正常工作。你说的“中断”是什么意思?我建议
final=final.strip()
修剪任何空白。我收到的错误与我最后的int()转换有关。@NicholasHazel:实际上,
False==0
是真的(在Python的每个版本中,至少从1.5到3.4)。但是,对于每个错误的值,
f==0
是不正确的。例如,
'==0
是错误的,即使
'
0
都是错误的。
final = raw_input("We will only cube numbers that are divisible by 3?")
try:
    final = int(final)
except ValueError:
    print "You need to type in a valid integer number!"
else:
    # code to execute when `final` was correctly interpreted as an integer.