语法错误无效?

时间:2013-07-13 02:37:58

标签: python

我是Python新手并尝试编写基本脚本 我正在尝试打印出字母表中的所有字母,并且我一直收到无效的语法。

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终于开心了。
如何修复脚本以使其不再有无效的语法?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

while循环中缺少冒号。

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