題解
時間給的蠻充裕的,可以慢慢找到左右括號然後把裡面的東西替換成算好的答案。最後再先加減後乘除。
Python 解答
def check_add_mul(s): #計算f()中的數值資料
result = 1
for part in list(map(eval, s.split("*"))):
result *= part
return result
def check_func_content(s): #檢查逗號,從逗號切開,一段一段檢查是否還有func
mylist = s.split(",")
val = list(map(check_add_mul, mylist))
return max(val)-min(val)
expr = input()
left = [ i for i,c in enumerate(expr) if c=="("]
while left:
i = left.pop()
right = expr.index(")", i)
content = expr[i+1:right:1] #拿出括號中所有的數字
ans = check_func_content(content)
expr = expr[0:i-1]+str(ans)+expr[right+1::]
print(check_add_mul(expr))