两种方式实现四个字母:A、B、C、D,可以组合成多少个互不相同且无宠物的三个字母组合?这些组合是什么?
# 使用Python内置模块
import itertools
# 定义一个数组
arr = ['A', 'B', 'C', 'D']
# 使用itertools.permutations函数获取arr中元素的所有三元组排列组合,并将它们转换为字符串
result = [''.join(i) for i in itertools.permutations(arr, 3)]
# 打印生成的排列组合数量
print(f'能组成{len(result)}个组合。')
# 打印所有的排列组合
print('这些组合式是:%s' % ' '.join(result))
# 手动实现
result = [] # 用于存储所有三元组组合的结果列表
arr = ['A', 'B', 'C', 'D'] # 给定的数组
# 外层循环遍历数组的所有元素以生成第一个元素
for i in range(len(arr)):
# 内层循环遍历数组的所有元素以生成第二个元素,排除与第一个元素相同的元素
for j in range(len(arr)):
if i == j:
continue # 跳过与第一个元素相同的元素
# 内层嵌套循环遍历数组的所有元素以生成第三个元素,排除已使用的两个元素
for k in range(len(arr)):
if i == k or j == k:
continue # 跳过与前两个元素相同的元素
# 将符合条件的三个元素组合添加到结果列表中
result.append(arr[i] + arr[j] + arr[k])
# 打印组合数量
print(f'能组成{len(result)}个组合。')
# 打印组合列表
print('这些组合式是:%s' % ' '.join(result))
评论前必须登录!
注册