这段代码有什么问题?我刚开始学习Python

时间:2013-07-01 00:23:52

标签: python

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"

3 个答案:

答案 0 :(得分:7)

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

if len(original) is > 0:

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

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

value operator operator value

没有意义(除了not in

等少数例外

正确的写作方式是

if len(original) > 0:

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

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

if original:

作为空字符串将在布尔上下文中评估为False

答案 1 :(得分:1)

if len(original) is > 0:

应该是

if len(original) > 0:

答案 2 :(得分:1)

if len(original) is > 0:

Python与英语完全不同:)

if len(original) > 0: