我编写了一个python脚本并出现了“无效语法”错误。任何人都可以帮我找到错误吗?感谢。
我的代码:
class Mahjong():
mentsu_map = {}
def __init__(self):
if len(Mahjong.mentsu_map) == 0:
m = Mahjong.mentsu_map
m[0] = [0, 0]
tablefile = open("pretable.data", "r")
try:
for line in tablefile:
ls = map(int, line.split(' '))
m[ls[0]] = [ m[ls[1], m[ls[2]] ]
finally: # invalid syntax here
tablefile.close()
def shanten(self, ht):
pass
我的错误输出是:
finally:
^
SyntaxError: invalid syntax
答案 0 :(得分:4)
您忘记了]
m[ls[0]] = [ m[ls[1]], m[ls[2]] ]
而不是
m[ls[0]] = [ m[ls[1], m[ls[2]] ]
答案 1 :(得分:1)
你在这里错过了一个方括号:)
添加了:
m[ls[0]] = [ m[ls[1]], m[ls[2]] ]
如果您使用+ Python 2.6,要进行优化,您还可以使用with
语句:
with open("pretable.data", "r") as tablefile:
for line in tablefile:
ls = map(int, line.split(' '))
m[ls[0]] = [ m[ls[1]], m[ls[2]] ]
成功执行代码块后会自动关闭文件。
希望这有帮助!