2013-12-15 57 views
2

问题类型解释它。我在想它会是这样的:我可以设置一个变量为空吗?

x = None 
if sUserInt == x: 
    #do stuff here 

我用它来检查用户是否刚刚按下输入,并没有放任何东西。 谢谢!

+1

您的输入不会是任何内容;它将是一个空字符串。这可能看起来没有什么,但它们与“1”和“1”不同。 – user2357112

回答

2

首先,你不必定义一个新的变量只比较它的价值。因此,而不是

x = None 
if sUserInt == x: 
    #do stuff here 

你可以写

if sUserInt == None: 
    #do stuff here 

然而,在没有的情况下,你可以使用一个变量的implicit checking是无:

if not sUserInt: 
    #do stuff here 

最后,所有这些无论如何不会帮助你,因为只需在raw_input()上按一个输入就不会给你None,而是一个空字符串('')。

所以使用:

if sUserInt == '': 
     #do stuff here 

或检查输入

if len(sUserInt) == 0: 
     #do stuff here 

的长度或使用隐再次检查:

if not sUserInt: 
     #do stuff here 

所有最后三个解决方案意味着基本上是一样的东西。

+0

您对'None'使用隐式false,但不使用'''? – user2357112

+0

你更快:)刚刚编辑。 – leeladam

2

宁愿使用:

if not sUserInt: 
    #do something here 

用法示例:

sUserInt = raw_input() 
if not sUserInt: 
    print "Nothing Entered" 

如果输入什么它会打印Nothing Entered

+0

请注意,在这种情况下,sUserInt是一个空字符串(''),而不是None。但是,隐含的空白检查仍然适用于字符串。 – leeladam

相关问题