用python语言写一个脚本生成由012组成的所有3位数组合数字可以重复要求用递归
可以使用递归来生成由0, 1, 2组成的所有3位数组合。下面是一个使用Python语言编写的示例脚本:
def generate_combinations(n, combination):
# 递归结束条件:当生成的组合长度为n时,打印组合并返回
if len(combination) == n:
print(combination)
return
# 递归调用:生成下一位数字的组合
for i in range(3):
combination.append(i)
generate_combinations(n, combination)
combination.pop()
# 调用函数生成所有的3位数组合
generate_combinations(3, [])
运行以上脚本,将会输出以下结果:
[0, 0, 0]
[0, 0, 1]
[0, 0, 2]
[0, 1, 0]
[0, 1, 1]
[0, 1, 2]
[0, 2, 0]
[0, 2, 1]
[0, 2, 2]
[1, 0, 0]
[1, 0, 1]
[1, 0, 2]
[1, 1, 0]
[1, 1, 1]
[1, 1, 2]
[1, 2, 0]
[1, 2, 1]
[1, 2, 2]
[2, 0, 0]
[2, 0, 1]
[2, 0, 2]
[2, 1, 0]
[2, 1, 1]
[2, 1, 2]
[2, 2, 0]
[2, 2, 1]
[2, 2, 2]
这个脚本通过递归的方式,依次生成每一位数字的可能取值,直到生成了n位数字的组合。在每一次递归调用中,将当前位的数字添加到组合中,并递归调用函数生成下一位数字的组合。当组合的长度达到n时,打印组合并返回
原文地址: https://www.cveoy.top/t/topic/iXJC 著作权归作者所有。请勿转载和采集!