簡體   English   中英

我只想在組合功能中打印第四個數字

[英]I want to print only the fourth number in the combination function

我從互聯網上獲得了一個代碼,可以打印出所有情況的多種組合。 arr = [1,2,3,4]n = 4r=2出現的案例數如下:

1 2
1 3
1 4
2 3
2 4
3 4

我只想在此處打印第四個數字[2,3] 你能幫助我嗎?

def printCombination(arr, n, r):
    data = [0] * r
    combinationUtil(arr, n, r, 0, data, 0)

def combinationUtil(arr, n, r, index, data, i):
    if (index == r):
        for j in range(r):
            print(data[j], end = " ")
        print()
        return

    if (i >= n):
        return

    data[index] = arr[i]

    combinationUtil(arr, n, r, index + 1, data, i + 1)
    combinationUtil(arr, n, r, index, data, i + 1)

arr = [1,2,3,4]
r = 2
n = len(arr)

printCombination(arr, n, r)

嘗試這個:

def printCombination(arr, n, r):
    data = [0] * r
    combinationUtil(arr, n, r, 0, data, 0)

def combinationUtil(arr, n, r, index, data, i):
    if (index == r):
        for j in range(r):
            if (data[0] == arr[1] and data[1] == arr[2]):
                print(data[j], end = " ")
        print()
        return

    if (i >= n):
        return

    data[index] = arr[i]

    combinationUtil(arr, n, r, index + 1, data, i + 1)
    combinationUtil(arr, n, r, index, data, i + 1)

arr = [1,2,3,4]
r = 2
n = len(arr)

printCombination(arr, n, r)

另外,既然我考慮得更加清楚,那么我認為您可以采用一種更加簡單的方式來做到這一點。 似乎對於一個長度為4個數字的列表,您想獲得中間的兩個數字。 因此,您可以這樣做:

def printMiddle(list):
    print([list[1], list[2]])

list = [1,2,3,4]
printMiddle(list)

暫無
暫無

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

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