python-排列组合序列
【题目描述】用户输入整数n(1<=n<=26)和整数m(m<=n),然后输入n个不同的字母,请编写程序输出在这n个字母中选择m个字母的所有排列序列和组合序列。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。 【输入格式】在第一行中输入整数n和整数m的值,数据之间以空格为间隔。 在第二行中输入n个不同字母,数据之间以空格为间隔 【输出格式】首先输出所有的排列数列,每种情况一行,字母间以空格为间隔; 再者首先输出所有的组合数列,每种情况一行,在同一行中以字母增序顺序显示,字母间以空格为间隔。 【输入样例】3 2 a s d 【输出样例】Permutation: a d d a a s s a d s s d Combination: a d a s d s
代码:
import itertools a = input("请输入整数n和整数m的值:") a1 = a.split(" ") for i in a1[::]: if i == '': a1.remove(i) while True: b = input("请输入{}个字母:".format(a1[0])) b1 = b.split(" ") for i in b1[::]: if i == '': b1.remove(i) if len(b1) != 3: continue else: break iter_perm = itertools.permutations(b1, int(a1[1])) iter_comb = itertools.combinations(b1, int(a1[1])) print("Permutation:") for i in iter_perm: print(" ".join(i)) print("Combination:") for i in iter_comb: print(" ".join(sorted(i)))
输出结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-03-09 每日学习