python - 如何实例化一个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。那么如何在不自己编写循环的情况下动态创建更多循环呢?
解决方案
您可以使用递归
def func(n, k, *args):
if n:
for i in range(k):
func(n - 1, k, *args, i)
else:
print(*args)
func(3, 10)
推荐阅读
- javascript - Vue js 应用程序在 github 页面中返回 404,但在 localhost 上运行良好
- ruby-on-rails - Rails 中的自定义动作路由继承
- chart.js - Chart.js 折线图看起来像面积图,线条流畅但不锐利
- android - Flutter:android MissingPluginException(找不到方法getApplicationDocumentsDirectory的实现)
- c# - 在在线编译器中运行的 C# ECDSA 签名失败
- css - 背景附件:修复了如何使图像“不全屏”?
- python - Tkinter 按钮功能无法正常工作
- javascript - React Google Charts 烛台颜色和灯芯未显示
- c# - 当我的数据库出现错误时,如何使用 Visual Studio 运行我的代码?
- python - 如何将keras后端从tenserflow切换到theano?