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 才最终感到高兴。
如何修复脚本使其不再出现无效语法?

4

2 回答 2

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
于 2013-07-13T02:40:40.647 回答
2

while在结束循环中缺少冒号。

 letter = ord('a')
 while letter != ord('z'):
       print(chr(letter)) 
       letter += 1
于 2013-07-13T02:40:24.990 回答