2013-07-13 145 views
0

我是Python新手,嘗試編寫基本腳本。
我試圖打印出字母表中的所有字母,並且一直收到Invalid Syntax。語法錯誤?

letter = ord('a') 
while letter != ord('z') 
    print(chr(letter)) 
    letter = letter + 1 

這裏的第一個錯誤日誌:

while letter != ord('z') 
        ^
SyntaxError: invalid syntax 

看來,Python不喜歡關閉括號,所以當我刪除它,它給了我這樣的:

print(chr(letter)) 
    ^
SyntaxError: invalid syntax 

我無法解決這個問題,所以我嘗試徹底刪除該行。然後,它給了我這個:

letter = letter + 1 
    ^
SyntaxError: invalid syntax 

我不知道我在這一點上做什麼,只刪除整個劇本後完全是Python的最後高興。
如何修復腳本,使其不會再出現無效的語法?

+0

你錯過了在'while'線的末端結腸。 – Ryan

+4

不要在標題中放置「已解決」或類似的東西,而是接受一個答案。 –

回答

3

你想在你的while循環結束時冒號,讓Python知道它是一個塊。

while letter != ord('z'): 
    <rest of your code here> 

而且,現在你似乎當你想對面有while循環縮進並沒有休息,開始:在while循環中運行的所有代碼應縮進,但標題不應該是。

作爲一個方面說明,您的ordchr策略是完全有效的,但可能比必要的更復雜。在Python中,for循環可以迭代字符串以及一系列數字。所以,你可以說

for character in "abcdefghijklmnopqrstuvwxyz": 
    print(character) 

一個較短的方式來獲取字母串

import string 
string.lowercase 
+0

謝謝,我不知何故錯過了! – WaterTipper

+0

編輯包含一些關於如何在Python中更容易完成的信息。 –

2

結尾缺少冒號while循環。

letter = ord('a') 
while letter != ord('z'): 
     print(chr(letter)) 
     letter += 1 
+0

我不能相信我錯過了那些顯而易見的東西:/謝謝! – WaterTipper