我尝试编写一个具有 if else 循环功能的代码。我想要一个 if 语句是 运行 的次数的计数器

I tried writing a code which have a function with if else loop. I wanted a counter of the number of times that if statement is ran

请帮助我。我希望每次函数为 运行 时添加计数器 num 变量。但是它不起作用,请告诉我为什么我做错了。如果我使用 return num 那么代码结束了我不想要的,但是 n =+1 不起作用,请帮助。非常感谢。

def prompt():
num = 1
print(num)
question = input("Do you want to add a file(y,n): ")

if question == "y":


    file = input("Which File?: ")
    nukefile.append(file)
    st_frm = input("Start frame: ")
    start_frame.append(st_frm)
    en_frm = input("End Frame: ")
    end_frame.append(en_frm)

    #return num + 1

    num =+1 
    print(num)

    nukew = str("start /wait Nuke11.1.exe -x -"+st_frm+"-"+en_frm+" "+file)
    nukewrite.append(nukew)
    que = (str(num)+". "+file+"--"+st_frm+","+en_frm)
    for_artist.append(que)


    for x in for_artist:
        print(x)

    prompt()
    return num


elif question == "n":
    print(nukewrite)
    f = open(batchfile, "a")
    for shotsa in nukewrite:
        f.write('\n'+shotsa+'\n')
    print("Following files will render:")
    for shotsb in nukefile:
        print(shotsb)
    
    f.close()
else:
    print("Invalid entry")
    prompt()

如果您想计算函数运行了多少次并保持递归,您需要在 prompt 之外定义 prompt.num。可以在函数下定义,也可以用装饰器在上面定义。

def prompt():
    prompt.num += 1
    your code

prompt.num = 0