视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python循环嵌套
2020-11-27 14:27:48 责编:小采
文档


Python 语言允许在一个循环体里面嵌入另一个循环。

Python for 循环嵌套语法:

for iterating_var in sequence:

for iterating_var in sequence:

statements(s)

statements(s)

Python while 循环嵌套语法:

while expression:

while expression:

statement(s)

statement(s)

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

实例:

1. 从第一个列表中每次取出一个,从第二个列表中也每次取出一个,组合成一个新的列表,新列表中包含所有组合

List1 = ['zi', 'qiang', 'xue', 'tang']

List2 = [1, 2]

new_list = []

for m in List1:

for n in List2:

new_list.append([m, n])

print new_list

结果:

[['zi', 1], ['zi', 2], ['qiang', 1], ['qiang', 2], ['xue', 1], ['xue', 2], ['tang', 1], ['tang', 2]]

2. 从一个列表中每次取出两个,找出所有组合方式

List = [1, 2, 3, 4, 5]

length = len(List)

for x in range(0, length-1):

for y in range(x+1, length):

print List[x], List[y]

结果:

1 2

1 3

1 4

1 5

2 3

2 4

2 5

3 4

3 5

4 5

3. 以下实例使用了嵌套循环输出2~20之间的素数:

分析:对于一个数 n ,如果从 1 到 n ** 0.5(根号n) 的数都是能整除,那么n这个数就是素数。

3.1 用 for 来实现

# -*- coding: utf-8 -*-

n = 20

for i in range(1, n):

for j in range(2, int(i**0.5)):

if i % j == 0:

break

else:

print i, '是素数'

3.2 用 while 来实现

#!/usr/bin/python

# -*- coding: utf-8 -*-

i = 2

while(i < 20):

j = 2

while(j <= (i/j)):

if not(i%j): # 或者写 if i % j == 0,如果整除的意思

break

j = j + 1

if (j > i/j):

print i, " 是素数"

i = i + 1

print "Good bye!"

解释:i % j 的意思是 i 除以 j 后的余数。对于数字,0对应的布尔值为假,其它值都是真,not ( i % j ) 的意思是 ,当 i % j 为 0 时才能条件成立,意思就是整除的时候,如果能整除的意思。

以上实例输出结果:

2 是素数

3 是素数

5 是素数

7 是素数

11 是素数

13 是素数

17 是素数

Good bye!

下载本文
显示全文
专题