簡體   English   中英

在方程中找到大括號的遞歸解決方案

[英]recursive solution for finding braces in equation

我正在使用 python 但任何提示都會有所幫助

我需要做一個遞歸的 python function 如果在給定的列表中我可以放一個大括號並獲得給定的數字,它將返回 True 或 False:

L = [3, *, 2, +, 5, -, 3]

例如 func 將獲取上面的列表和數字 8 並將返回 True 因為: (3*2) + ( 5 - 3) = 8

對於數字 12,它也會返回 True:因為:3 * (2+5-3) = 12

我得到的指導是使用 func eval()

您好,您可以使用 exec。

L = ['3', '*' , '2' , '+' , '5' , '-' , '3']

res = ""
for e in L:
    res += e
a = 0
exec("a=" + res)
print(a)

您可以將 '{' 替換為 '(' 或 '}' 替換為 ')',它可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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