P1157 组合的输出 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#和前面一样用itertools.combinations()从n个数构成的列表中任选m个数
import itertools
n,m=map(int,input().split())
arr=[i for i in range(1,n+1)]
all_sort_arr=list(itertools.combinations(arr,m))
for i in all_sort_arr:
for j in range(m):
#主要注意每个数字要占3个字符位怎么实现,将数字字符化用人rjust方法
print(str(i[j]).rjust(3,' '),end="")
print("")
主要是学会从n个数中选m个数,求出其所有情况(也就是Cnm,打不出来。。)题解里大多用c/c++的既可以用dfs(深度优先搜索),也可以用STL带的 next_permutation(start,end)方法来写。