小编Bay*_*ram的帖子

解析Python中的嵌套函数

line = "add(multiply(add(2,3),add(4,5)),1)"

def readLine(line):
    countLeftBracket=0
    string = ""
    for char in line:
        if char !=")":
            string += char
        else:
            string +=char
            break

    for i in string:
        if i=="(":
            countLeftBracket+=1

    if countLeftBracket>1:
        cutString(string)
    else:
        return execute(string)

def cutString(string):
    countLeftBracket=0

    for char in string:
        if char!="(":
            string.replace(char,'')
        elif char=="(":
            string.replace(char,'')
            break

    for char in string:
        if char=="(":
            countLeftBracket+=1

    if countLeftBracket>1:
        cutString(string)
    elif countLeftBracket==1:
        return execute(string)

def add(num1,num2):
    return print(num1+num2)

def multiply(num1,num2):
    return print(num1*num2)

readLines(line)
Run Code Online (Sandbox Code Playgroud)

我需要执行整个行字符串。我尝试将括号内的每个函数一一剪切并用结果替换它们,但我有点迷失了。不知道如何继续,我的代码收到错误:

  File "main.py", line 26, in cutString …
Run Code Online (Sandbox Code Playgroud)

python parsing nested-function

2
推荐指数
1
解决办法
1516
查看次数

标签 统计

nested-function ×1

parsing ×1

python ×1