簡體   English   中英

加減

[英]Addition and Subtraction

我需要幫助返回表達式的值(表達式是函數的參數)。

這是我到目前為止所嘗試的。 這只是一個隨機方程的例子,我的計划是了解如何正確解決它,以便稍后將其轉換為 function

sum = 0
eq = '2+4-5'
string = ""
for x in eq:
    if x in ('+', '-'):
        if x == '+':
            sum += int(string)
        elif x == "-":
            sum -= int(string)
        string = ""
    else:
        string += x
sum += int(string)
print(sum)
"1+2" => 3   # input  =  "1+2" and the output of the function would be 3
"-1+21" => 20
"+1-1" => 0

查找 eval() function:

>> eq = "2+4-5"
>> eval(eq)
1

正如評論中所說的 eval() 評估作為 Python 代碼傳遞的字符串,這具有潛在的危險。

試試這個:

import re
eq = '+1-1'
ls = [int(i) for i in re.findall('[-+]?[0-9]+', eq)]
res = sum(ls)
print(res)

暫無
暫無

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

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