def func(list, num) .... list = [1,2,3,4,5] func(list,2) print 出 所有可能的组合 比如 12 23 24等
答案:1 悬赏:0 手机版
解决时间 2021-03-26 10:31
- 提问者网友:留有余香
- 2021-03-25 13:02
def func(list, num) .... list = [1,2,3,4,5] func(list,2) print 出 所有可能的组合 比如 12 23 24等
最佳答案
- 五星知识达人网友:西岸风
- 2021-03-25 13:08
比如“1,2,3....10”,1到10这10个数,显示他的所有可能组合情况(排列顺序无所谓)
# -*- coding: utf-8 -*-
#!/usr/local/bin/python
Count = 0
def combination(data, t, vl):
_kk = len(data)
for _i in range(_kk-t+1):
vl.append(data[_i])
new_data = data[_i+1:]
if t-1 == 1:
for _j in range(len(new_data)):
print ','.join(map(str,vl))+','+str(new_data[_j])
global Count
Count += 1
else:
combination(new_data, t-1, vl)
vl.pop()
if __name__ == '__main__':
n = 10 # 总数
t = 6 # 选取个数
vl = [] # 用于存放选中的数字
data = range(1, n+1)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
combination(data, t, vl)
_count_correct = reduce(lambda x, y: x*y,range(n,n-t,-1)) / reduce(lambda x, y: x*y,range(t,0,-1))
print Count, Count == _count_correct
# -*- coding: utf-8 -*-
#!/usr/local/bin/python
Count = 0
def combination(data, t, vl):
_kk = len(data)
for _i in range(_kk-t+1):
vl.append(data[_i])
new_data = data[_i+1:]
if t-1 == 1:
for _j in range(len(new_data)):
print ','.join(map(str,vl))+','+str(new_data[_j])
global Count
Count += 1
else:
combination(new_data, t-1, vl)
vl.pop()
if __name__ == '__main__':
n = 10 # 总数
t = 6 # 选取个数
vl = [] # 用于存放选中的数字
data = range(1, n+1)#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
combination(data, t, vl)
_count_correct = reduce(lambda x, y: x*y,range(n,n-t,-1)) / reduce(lambda x, y: x*y,range(t,0,-1))
print Count, Count == _count_correct
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯