-4
print "Welcome to the English to Pig Latin translator!"
original = raw_input("Enter a word.")
if len(original) is > 0:
    print original
else:
    print "empty"
4

3 回答 3

7

好吧,您的错误在这一行:

if len(original) is > 0:

is检查左侧和右侧是否指向内存中的同一个对象。但是您is后面跟着另一个比较器运算符>,它将左值与右值进行比较。

所以python解释器没有得到你想要的:

value operator operator value

对它没有意义(有一些例外,如not in

正确的写法是

if len(original) > 0:

它使用>运算符来比较左右值。

此外,@Volatility 在他的评论中指出,如果你想检查一个字符串是否为空,python 有一个非常优雅的语法来检查它:

if original:

作为一个空字符串将False在布尔上下文中进行评估。

于 2013-07-01T00:27:34.463 回答
1
if len(original) is > 0:

应该

if len(original) > 0:
于 2013-07-01T00:27:44.167 回答
1
if len(original) is > 0:

Python 并不完全像英语 :)

if len(original) > 0:
于 2013-07-01T00:28:07.293 回答