【发布时间】:2018-09-05 08:01:21
【问题描述】:
如何在不引发任何错误的情况下评估此三元表达式?当我在没有字符串和eval() 的情况下运行它时,它可以完美运行,直到我尝试使用字符串和eval() 运行它。
c = {1: "y += 1 if y == 1 else print('F')",
2: "y -= 1 if y == 2 else print('F')",
3: "x += 1 if x == 1 else print('F')",
4: "x -= 1 if x == 2 else print('F')"}
for i in range(1,5):
eval(c[i])
错误回溯:
Traceback (most recent call last):
File "C:/Users/.../mazefinder.py", line 25, in <module>
eval(c[i])
File "<string>", line 1
y += 1 if y == 1 else print('F')
^
SyntaxError: invalid syntax
我希望这段代码增加或减少 x 或 y!
【问题讨论】:
-
想要达到什么目的?几乎可以肯定有更好的方法。请参阅 XYhere。
标签: python-3.x syntax-error python-3.6 ternary-operator