如何编写Python程序打印1、2、3生成的无重复两位数字组合
Python实现1/2/3不重复两位数字打印方案
方法1:调用标准库快速实现
使用Python内置itertools.permutations方法,直接生成指定长度的不重复排列,代码最简洁:
from itertools import permutations # permutations第二个参数指定生成长度为2的排列 for item in permutations([1,2,3], 2): print(f"{item[0]}{item[1]}")
输出结果:
12 13 21 23 31 32
方法2:原生循环实现(无依赖)
如果不想导入任何库,可以用双层循环加简单判断实现:
source = [1,2,3] # 遍历十位取值 for a in source: # 遍历个位取值 for b in source: # 排除数字重复的情况 if a != b: print(f"{a}{b}")
运行效果和方法1完全一致。
补充说明:如果需求为不计顺序的组合(即12和21视为同一种),可将方法1中的permutations替换为itertools.combinations,最终输出为12、13、23三个结果
内容的提问来源于stack exchange,提问作者Brooke O
相关产品推荐
相关产品推荐

