簡體   English   中英

使用遞歸函數python的區別

[英]difference using recursive functions python

我有包含隨機字母的列表。

def similarity(out_list):

    i=0
    count=0
    while i<len(out_list):
        if out_list[i][-1]==out_list[i+1][-1]:
            count+=1

            return similarity(out_list[i][:-1]) + count
        elif out_list[i][-1]!=out_list[i+1][-1]:

            return similarity(out_list[i][:-1])
        i+=2

out_list=["ABABA","ACA","AGAGA","AAVA","XBX","ARAA","AADA","AAA","BABAB","ABA"]
similarity(out_list)

在我的代碼中,我試圖找出第一和第二,第三和第四等列表元素之間的區別。

但是,由於我的函數是遞歸的,所以i的值始終為0,並且我無法控制其他元素,也找不到差異。

對於ABABA和ACA,差異為3,因為第一個A和第三個A在相同索引的兩個詞中都是相同的。因此,差異5-2 = 3

我的代碼需要進行哪些更改? 謝謝。

考慮將i作為參數傳遞給遞歸函數,而不是在函數開始時將其設置為0。 您可能也想做一些類似的事情。

暫無
暫無

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

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