鱼C论坛

 找回密码
 立即注册
查看: 3689|回复: 10

[技术交流] Python如何运行多层嵌套循环

[复制链接]
发表于 2021-7-1 17:37:15 | 显示全部楼层 |阅读模式
50鱼币
本帖最后由 Ray-先生 于 2021-7-8 21:14 编辑

最近的Python训练题好多都要多层嵌套循环
网上的那些教程我都看不懂是什么意思,最好能把每一步是干什么的都展示出来

例如这道题:
小A有n枚硬币,现在要买一样不超过m元的商品,他不想得到找钱(多脏啊),同时又不想带太多的硬币,且硬币可以重复,现在已知这n枚硬币的价值,请问最少需要多少硬币就能组合成所有可能的价格?
输入格式
第一行两个数:n、m。
下一行,共n个数字,表示硬币的面值。
输出格式
一行一个数,表示最少需要多少硬币。如果无解请输出“No answer!!!”
示例1
输入:
5 31
1 2 8 4 16
输出:
5

或者这道题
现在请你编一个程序,它的目的是:用户输入N个数,并执行N次嵌套循环,输出s,每次循环的次数为N个数的每一个数
输入格式
第一行输入N个数
第二行输入s
输出格式
一行一个s

示例1:
输入:
1 5 2
Ray
输出
Ray
Ray
Ray
Ray
Ray
Ray
Ray
Ray
Ray
Ray

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-1 17:55:13 From FishC Mobile | 显示全部楼层
太多了,都是基础
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-1 23:37:52 | 显示全部楼层
你可以设置一个变量。然后每层嵌套的时候打印出来,可以根据打印的时间和位置来理解嵌套
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-1 23:39:56 | 显示全部楼层
嵌套循环其实很简单,就是第一层循环一次,然后进行第二个嵌套循环,依次类推,有几个嵌套第一次就进入到最里面的那个循环,等到最里面的循环结束,然后在进行倒数第二层的循环,然后依次,有点像递归,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-1 23:42:07 | 显示全部楼层
for i in range(10):
    print('第{}次循环'.format(i))
    for i_1 in range(10):
        print("第2个循环里面的第{}次执行".format(i_1))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-2 15:23:59 | 显示全部楼层
深谙流年 发表于 2021-7-1 23:42
for i in range(10):
    print('第{}次循环'.format(i))
    for i_1 in range(10):


我的意思是,如何运行N层嵌套循环(N是用户输入或系统随机数等),而不是这种循环!这么简单的循环,谁不会呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-2 18:06:31 | 显示全部楼层
Ray-先生 发表于 2021-7-2 15:23
我的意思是,如何运行N层嵌套循环(N是用户输入或系统随机数等),而不是这种循环!这么简单的循环,谁 ...

用函数不就可以了,,,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-2 18:23:21 | 显示全部楼层
深谙流年 发表于 2021-7-2 18:06
用函数不就可以了,,,,,

怎么写函数呢……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-2 20:04:32 | 显示全部楼层
因为你没给出具体的例子,可以分一下 有哪些“嵌套”方式:
     1. 相同的字符串/列表或字典等的 N次嵌套(笛卡尔积), 如 itertools.product("ABC", repeat=3)  即 for i in "ABC": 嵌套3次
     2. 定义一个函数,自己嵌套N次自己(递归N次)
     3. 生成器 yield (一次次生成直到N次)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-2 20:24:29 | 显示全部楼层
Ray-先生 发表于 2021-7-2 18:23
怎么写函数呢……

d定义一个函数,然后在里面调用它
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-3 08:57:39 | 显示全部楼层
Ray-先生 发表于 2021-7-2 15:23
我的意思是,如何运行N层嵌套循环(N是用户输入或系统随机数等),而不是这种循环!这么简单的循环,谁 ...

这个一般递归
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 18:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表