Python 这段代码中的if/else语法有什么问题?

Python 这段代码中的if/else语法有什么问题?,python,syntax,python-2.7,Python,Syntax,Python 2.7,为什么这个代码不起作用?缩进错误还是代码错误 print "Welcome to the English to Pig Latin translator!" original = raw_input('Enter a word.') if len(original) > 0: print original else print "empty": 如有任何建议,将不胜感激。我正试图通过Codecademy学习Python else print "empty": ^

为什么这个代码不起作用?缩进错误还是代码错误

print "Welcome to the English to Pig Latin translator!"
original = raw_input('Enter a word.')
if len(original) > 0:
    print original
else print "empty":
如有任何建议,将不胜感激。我正试图通过Codecademy学习Python

else print "empty":
    ^             ^
需要在
后面加
,而不是在正在打印的字符串后面,即

else: print "empty"
    ^              ^

因此,您使用了
,但位置不正确:)

您需要将冒号移到
后面,否则

if len(original) > 0:
    print original
else: print "empty"
或者,如果您愿意,您可以使用:


本教程提供了您需要的所有类型语句的极好示例:

你所做的:

    print "Welcome to the English to Pig Latin translator!"
    original = raw_input('Enter a word.')
    if len(original) > 0:
        print original
    else print "empty":
您需要做的是:

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

你漏掉了括号,把冒号放错了地方,最后一位没有换到另一行。希望这能有所帮助:)

您收到的错误消息确实提供了一个有价值的提示:一个
语法错误
^
指向
打印标记。这意味着解析器在这里实际需要一个不同的标记,即冒号。还要注意,Python中测试非空字符串的惯用方法是
if original
,而不是
if len(original)>0
。如果您真的想使用某种形式的条件表达式,我强烈希望
打印original或“empty”
在这种特殊情况下。(实际上我更喜欢显式的
if
语句。)
    print "Welcome to the English to Pig Latin translator!"
    original = raw_input('Enter a word.')
    if len(original) > 0:
        print original
    else print "empty":
    print("Welcome to the English to Pig Latin translator!")
    original = raw_input('Enter a word.')
    if len(original) > 0:
        print("original")
    else:
        print("empty")