gpt4 book ai didi

python - 确保一个 Action 在递归调用期间只发生一次

转载 作者:行者123 更新时间:2023-12-02 04:17:20 24 4
gpt4 key购买 nike

我有一个过程,其中包含一个涉及递归调用该过程的步骤。我希望某个 Action 不是第一次完成,而是在其他时候完成,它被递归调用。

def a(string):
while string.startswith('/'):
string =string[1:]
stringa = string.split('/',1)

if(len(stringa)>1):
a(stringa)

基本上我的字符串是 /a/b/c/d 类型。我想在第一次和连续递归期间将 stringa 作为 {/}{a/b/c/d}
stringa ={a}{b/c/d}
stringa ={b}{c/d}
stringa ={c}{d}

最佳答案

基本模式是使用标志。您可以将标志设置为默认参数,这样您就不必在第一次调用函数时传递它,然后函数在递归调用时设置(或取消设置...)标志。

看起来像这样:

def some_function(..., is_first=True):
if is_first:
# code to run the first time
else
# code to run the other times
# recurse
some_function(..., is_first=False)

我不知道如何将它转化为您的代码,因为不清楚您第一次想要做什么。另外,您首先传入一个字符串,但您的递归调用传入的是一个列表。

关于python - 确保一个 Action 在递归调用期间只发生一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32802540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com