[英]Formatting for algebraic expressions
這是我手動求解此方程的代碼:
b=2
c=3
sum= [[1, 4 + c, 0], [6, 2 + b + c, b]]
[[1, 7, 0], [6, 7, 2]]
這是我得到的 output,它可以工作,類型:<class 'list'>
如何獲得相同的 output 但作為字符串? 我不想將上面的列表類型更改為字符串。
b=2
c=3
sum= "[[1, 4 + c, 0], [6, 2 + b + c, b]]"
'[[1, 4 + c, 0], [6, 2 + b + c, b]]'
為什么這不起作用,它是正確的 output “類型”但是 b 和 c 的值不起作用。
謝謝你的幫助。
You can use lambda
or in other words use function def
NOTE: don't use sum
as a variable name, because it is a built-in function in 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()
。 如果我理解正確,您需要使用字符串。
例如,
>>> 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]])
甚至這個( 不是很推薦):
sum = eval("[[1, 4 + c, 0], [6, 2 + b + c, b]]")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.