這段代碼爲什麼不起作用?縮進是錯誤的還是代碼錯誤?此代碼中的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