男模Python 双重循环(实例保姆级演示)

我是纯小白,队友是拥有16年经验的魔都大厂软件开发大咖,开始记录我的Python学习之旅。

在 Python 中,双重 for 循环(nested for loop)是一种常用的编程结构,它允许我们在一个循环内部嵌套另一个循环。这种结构通常用于处理二维数组、矩阵或任何需要对多个数据集合进行组合或比较的情况.

1、外层循环与内层循环

在Python中,双重循环是通过将一个循环嵌套在另一个循环内部来实现的。外层循环每执行一次,内层循环会完整执行一遍。以下是一个简单的例子:

2、循环控制变量

在双重循环中,通常会有两个控制变量,一个用于外层循环,另一个用于内层循环。控制变量可以用于索引数组、控制流程等。在上面的例子中,i 是外层循环的控制变量,j 是内层循环的控制变量。

例子:

目的:输出一个10×10的表格

里面就是1~100这100个数

for j in range(1, 11):

        shuzi = 10 * i + j

        print(shuzi, end=" ")

print("") #一行完成了,我们换行

写下来我们就发现1-10不是成行的,而且还超出100了,这些都是新手容易犯的错误。 错误地认为第54 55行执行完了所有循环,才开始执行下面的for循环。

正确的顺序是,53行的语句块整体(包括56行的子循环)执行一次,而不是把54 55行拆出来先执行。也就是说执行顺序是

53545556

5758575857585758575857585758575857585758

上面是53行for循环的语句块第一次执行

54 55执行一次56执行一次(注意56是一个循环,它执行一次,就表示它下面的57 58执行了10次)

确实是先执行前面的,但是不是前面的先执行10次再执行后面的10次,而是前面后面前面后面前面后面这样交替执行。所以PYTHON就出现这样的结果,后面改进:

因为只有54 55行先 全部执行10次,它们才变成1行啊

但是上面也说了,它不会全部执行完,而是一次一次的执行

把56 57 5859行都注释掉再执行(注释:Ctrl+/)

54 55行就会输出1行了

果然显示一行1-10

这说明:所谓的输出1行,只是我们人类这么认为,计算机它根本没有这么想

反过来把54,55注释掉,会出现余下的。

那么问题来:怎么样把第一行1-10和后面的11-100拼接到一起呢?

由于54 55行的含义不是输出一行(如果是,那么它们上面的53行循环应该让它们输出10个1行也就是10行才对)

而是输出一个数字,输出一个空格,重复10次

可以这么做:

53 54 55 行是一个循环,

53(复制原来的53行,粘贴到55行下面) 56 57 58 59是一个循环(注意53重复出现了,要复制一次)

而且都来101-110这些是不需要的。那么,需要修改第二个条件,

这个执行了10次,加上第一行就是11次了,所以把11给修为10,

For j in range(1,10), 就可以了。

还是有问题:第一行为什么显示1-20而不是1-10呢?

第56行上面添加一下

print("")

我们的目标

输出一个10×10的表格

里面就是1~100这100个数

全部实现。

关注我分享更多干货!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值