代数表达式的格式化
Formatting for algebraic expressions
这是我手动求解这个方程的代码:
b=2
c=3
sum= [[1, 4 + c, 0], [6, 2 + b + c, b]]
[[1, 7, 0], [6, 7, 2]]
这是我得到的输出,它有效,类型:
如何获得相同的输出但作为字符串?我不想将上面的列表类型更改为字符串。
b=2
c=3
sum= "[[1, 4 + c, 0], [6, 2 + b + c, b]]"
'[[1, 4 + c, 0], [6, 2 + b + c, b]]'
为什么这不起作用,它是正确的输出“类型”,但 b 和 c 的值不起作用。
感谢您的帮助。
您可以使用 lambda
或者换句话说使用函数 def
注意:不要使用 sum
作为变量名,因为它是 python.
中的内置函数
b=2
c=3
sum_ = lambda b,c: [[1, 4 + c, 0], [6, 2 + b + c, b]]
sum_(b,c)
[[1, 7, 0], [6, 7, 2]]
这很容易做到。您可以使用 eval()
来评估 python 表达式。从文档中,eval
、the source may be a string representing a Python expression or a code object as returned by compile()
。如果我没理解错的话,你需要使用 for strings。
例如,
>>> b=2
>>> c=3
>>> sum= "[[1, 4 + c, 0], [6, 2 + b + c, b]]"
>>> result=eval(sum)
>>> result
[[1, 7, 0], [6, 7, 2]]
如果要将其转换为字符串,只需执行 result=str(eval(sum))
.
怎么样:
sum = f"[[1, {4 + c}, 0], [6, {2 + b + c}, b]]"
或者这样:
sum = str([[1, 4 + c, 0], [6, 2 + b + c, b]])
甚至这个 (not very recommended):
sum = eval("[[1, 4 + c, 0], [6, 2 + b + c, b]]")
这是我手动求解这个方程的代码:
b=2
c=3
sum= [[1, 4 + c, 0], [6, 2 + b + c, b]]
[[1, 7, 0], [6, 7, 2]]
这是我得到的输出,它有效,类型:
如何获得相同的输出但作为字符串?我不想将上面的列表类型更改为字符串。
b=2
c=3
sum= "[[1, 4 + c, 0], [6, 2 + b + c, b]]"
'[[1, 4 + c, 0], [6, 2 + b + c, b]]'
为什么这不起作用,它是正确的输出“类型”,但 b 和 c 的值不起作用。
感谢您的帮助。
您可以使用 lambda
或者换句话说使用函数 def
注意:不要使用 sum
作为变量名,因为它是 python.
b=2
c=3
sum_ = lambda b,c: [[1, 4 + c, 0], [6, 2 + b + c, b]]
sum_(b,c)
[[1, 7, 0], [6, 7, 2]]
这很容易做到。您可以使用 eval()
来评估 python 表达式。从文档中,eval
、the source may be a string representing a Python expression or a code object as returned by compile()
。如果我没理解错的话,你需要使用 for strings。
例如,
>>> b=2
>>> c=3
>>> sum= "[[1, 4 + c, 0], [6, 2 + b + c, b]]"
>>> result=eval(sum)
>>> result
[[1, 7, 0], [6, 7, 2]]
如果要将其转换为字符串,只需执行 result=str(eval(sum))
.
怎么样:
sum = f"[[1, {4 + c}, 0], [6, {2 + b + c}, b]]"
或者这样:
sum = str([[1, 4 + c, 0], [6, 2 + b + c, b]])
甚至这个 (not very recommended):
sum = eval("[[1, 4 + c, 0], [6, 2 + b + c, b]]")