[英]I want to print only the fourth number in the combination function
我从互联网上获得了一个代码,可以打印出所有情况的多种组合。 arr = [1,2,3,4]
且n = 4
且r=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.