python 函数内使用 exec() 的注意事项
点击打开
在leetcode 657 本来打算玩点花的,用eval或者exec函数解决,结果发现exec死活不执行
def judgeCircle(self, moves: str) -> bool:
if not moves:
return True
cmddic={'L':'x=x-1','R':'x=x+1','U':'y=y+1','D':'y=y-1'}
x,y=0,0
for strs in moves:
# print(type(cmddic[strs]))
exec(cmddic[strs])
# print(x,y)
return bool(x==0 and y==0)
后来根据上文解决方案,用locals()函数解决
吐槽一下python的eval不能赋值,exec有大坑,比matlab的eval麻烦多了。