python循环语句嵌套_循环结构-嵌套循环

嵌套循环和if语句的嵌套原理相似,就是在一个循环体内嵌套另外一个循环体。不同的是循环嵌套可以采用for-for嵌套、for-while嵌套、while-for嵌套、以及while-while嵌套四种形式。

1. for-for嵌套

它的形式为:for i in range(n):

for j in range(m):

循环体2

循环体1

举个例子:

我们定义两个列表(一种存储数据的容器)。

list_first = [1,2,3,4,5,6,7,8,9]

list_second = [2,4,8,10,12,20]

我们要找到两个列表中相同的数据并打印出来。

代码如下:list_first = [1,2,3,4,5,6,7,8,9]

list_second = [2,4,8,10,12,20]

for i in list_first:

for j in list_second:

if i == j:

print(i)

输出结果为:2

4

8

2. for-while嵌套

它的形式为:for 变量 in 对象:

while 条件:

循环体2

循环体1

举个例子:

index = [1,32,77,121,150]

遍历输出index列表中的值,对于小于100的数,把它每次加上10,直到大于100后再输出。

代码如下:index = [1,32,77,121]

for i in index:#遍历index

while i < 100:#如果i小于100

i += 10#每次加上10

print(i)

输出结果为:101

102

107

121

3. while-while嵌套

结构如下:while 条件:

while 条件:

循环体2

循环体1

具体就不再举例,大家可以去在试着使用这种结构去解决问题。

4. while-for嵌套

结构如下:while 条件:

while 条件:

循环体2

循环体1

5. 九九乘法表(作业1570)

在循环嵌套里有一比较经典的例子——打印九九乘法表。通过这个实例可以更清晰的看到双层循环嵌套的结构。

我们先来看一下代码:for i in range(1,10):#先遍历1~9

for j in range(1,i+1):#然后遍历1~i

print(i,'*',j,'=',i * j,end='丨')#循环输出1~i * i的值

print(end='\n')

再看一下输出结果:1 * 1 = 1丨

2 * 1 = 2丨2 * 2 = 4丨

3 * 1 = 3丨3 * 2 = 6丨3 * 3 = 9丨

4 * 1 = 4丨4 * 2 = 8丨4 * 3 = 12丨4 * 4 = 16丨

5 * 1 = 5丨5 * 2 = 10丨5 * 3 = 15丨5 * 4 = 20丨5 * 5 = 25丨

6 * 1 = 6丨6 * 2 = 12丨6 * 3 = 18丨6 * 4 = 24丨6 * 5 = 30丨6 * 6= 36丨

7 * 1 = 7丨7 * 2 = 14丨7 * 3 = 21丨7 * 4 = 28丨7 * 5 = 35丨7 * 6= 42丨7 * 7 = 49丨

8 * 1 = 8丨8 * 2 = 16丨8 * 3 = 24丨8 * 4 = 32丨8 * 5 = 40丨8 * 6= 48丨8 * 7 = 56丨8 * 8 = 64丨

9 * 1 = 9丨9 * 2 = 18丨9 * 3 = 27丨9 * 4 = 36丨9 * 5 = 45丨9 * 6= 54丨9 * 7 = 63丨9 * 8 = 72丨9 * 9 = 81丨

运行图:

1585488967437335.jpg

原理:先进行第一层循环,依次为1~9。第二层循环是在第一层循环的基础上再进行依次遍历,假如第一层循环现在是5,那么第二层循环找到1~5,然后分别用1~5去乘上5,那么就完成一次循环。我们在第1层循环中打印一个换行,可以使得代码更加明了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值