簡體   English   中英

代數表達式的格式

[英]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 表達式。 從文檔中,對於evalthe 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM