gpt4 book ai didi

Python - 新手问题,示例文件中的语法无效

转载 作者:行者123 更新时间:2023-11-28 23:04:44 25 4
gpt4 key购买 nike

我正在尝试自学 python,但我的基础知识已经失败了。

我正在浏览一本书中的一组示例,第一个示例是这样的:

import sys

Zero = [' *** ',' * * ','* *','* *','* *',' * * ',' *** ']
One = [' * ',' ** ',' * ',' * ',' * ',' * ',' *** ']
Two = [' *** ',' * * ',' * * ',' * ',' * ',' * ',' ***** ']
Three = [' ***** ',' * ',' ** ',' * ',' * ',' * * ',' ** ']
Four = [' * ',' * ',' * ',' * ',' ******',' * ',' * ']
Five = [' ***** ',' * ',' **** ',' * ',' * ',' * * ',' *** ']
Six = [' * ',' * ',' * ',' **** ',' * * ',' * * ',' **** ']
Seven = [' ***** ',' * ',' * ',' * ',' * ',' * ',' * ']
Eight = [' *** ',' * * ',' * * ',' *** ',' * * ',' * * ',' *** ']
Nine = [' **** ',' * * ',' * * ',' **** ',' * ',' * ',' * ']

Digits = [Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine]

try:
digits = sys.argv[1]
row = 0
while row < 7:
line = ''
column = 0
while column < len(digits):
number = int(digits[column])
digit = Digits[number]
line += digit[row] + ' '
column += 1
print(line)
row += 1
except IndexError:
print('usage: bigdigits.py <number>')
except ValueError as err:
print(err, 'in', digits)

当我运行 bigdigits.py 1351355 时,我得到一个错误,提示 SyntaxError: Invalid Syntax。我认为这与错误的路径有关,我使用 C:\py3eg 作为我程序的路径。当我将它复制到 C:\Python32 路径时,同样的事情发生了。我什至从图书网站下载了代码,但仍然出现错误,所以代码显然没问题。

这本书是针对 Python 3 编程的,我已经安装了 Python 3.2.1 版本。

如果有人能指出我出现此错误的原因,我将不胜感激!

最佳答案

您的代码在 2.6+ 和 3+ 中是有效的 Python 代码。但是,它会在 Python 2.5 下产生以下错误消息:

File "syntax-error.py", line 31
except ValueError as err:
^
SyntaxError: invalid syntax

那是因为 Python 2.5 不知道 as 关键字。在 2.5 中,您将改用逗号:

  except ValueError, err:

请注意,这会破坏 Python 3.x 的兼容性。

与其应用这些补丁来使您的代码在古老的 2.5 上运行,您应该切换到更新的 Python 版本。

关于Python - 新手问题,示例文件中的语法无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7279841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com