这段代码为什么不起作用?缩进是错误的还是代码错误?此代码中的if/else语法有什么问题?
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。
这段代码为什么不起作用?缩进是错误的还是代码错误?此代码中的if/else语法有什么问题?
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
之后:
if len(original) > 0:
print original
else: print "empty"
或者,如果你愿意,你可以使用一个conditional expression:
print original if len(original) > 0 else "empty"
如果你真的想使用某种形式的条件表达式,我更愿意在这个特定的地方使用'print original或'empty'案件。 (我实际上更喜欢显式的'if'语句。) – 2012-08-09 19:51:29
的教程各类报表的很好的例子,你需要:
http://docs.python.org/tutorial/controlflow.html#if-statements
if condition_1:
(execute)
elif condition_2:
(execute)
else:
(execute)
什么你做了:
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")
你错过了括号,加上一个冒号在错误的地点并没有去到上最后一位另一条线。希望这有助于:)
你得到的错误消息确实提供了一个有价值的提示:''SyntaxError''指向'print'标记的'^'。这意味着解析器实际上期望在这里有一个不同的标记 - 即冒号。 – 2012-08-09 19:47:31
另请注意,在Python中测试非空字符串的惯用方法是“if original”,而不是“if len(original)> 0”。 – 2012-08-09 19:48:49