首页 > 解决方案 > 如何实例化一个for循环x次

问题描述

我有这段代码将生成一个 3 位数字的所有组合

for n1 in range(10):
    for n2 in range(10):
        for n3 in range(10):
            print(n1,n2,n3)

input()

所以这将生成 001,002,003... 一直到 999 并且工作正常,我的问题是如何扩展此代码以使用我可以输入的自定义数量的数字运行?例如,如果我说 5,它应该运行 5 个 for 循环并打印所有结果以获得 00001,00002...99999。那么如何在不自己编写循环的情况下动态创建更多循环呢?

标签: python

解决方案


您可以使用递归

def func(n, k, *args):
  if n:
    for i in range(k):
      func(n - 1, k, *args, i)
  else:
    print(*args)

func(3, 10)

推荐阅读