我只想打印组合函数中的第四个数字

2024-06-09 01:52:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我从网上得到了一个代码,可以打印出所有案件的一些组合。 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)

Tags: 代码infordataindexreturnifdef
1条回答
网友
1楼 · 发布于 2024-06-09 01:52:32

试试这个:

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)

相关问题 更多 >