Python基础教程系列之–Python 循环嵌套

本文目录
[隐藏]
本文属于《Python基础教程》文章系列,该系列共包括以下 26 部分:
  1. Python基础教程系列目录
  2. Python基础教程系列之–Python 简介
  3. Python基础教程系列之–Python环境搭建
  4. Python基础教程系列之–Python 基础语法
  5. Python基础教程系列之–Python 变量类型
  6. Python基础教程系列之–Python 运算符
  7. Python基础教程系列之–Python 条件语句
  8. Python基础教程系列之–Python 循环语句
  9. Python基础教程系列之–Python While循环语句
  10. Python基础教程系列之–Python for 循环语句
  11. Python基础教程系列之–Python 循环嵌套
  12. Python基础教程系列之–Python break 语句
  13. Python基础教程系列之–Python continue 语句
  14. Python基础教程系列之–Python pass 语句
  15. Python基础教程系列之–Python 数字
  16. Python基础教程系列之–Python 字符串
  17. Python基础教程系列之–Python 列表(List)
  18. Python基础教程系列之–Python 元组
  19. Python基础教程系列之–Python 字典(Dictionary)
  20. Python基础教程系列之–Python 日期和时间
  21. Python基础教程系列之–Python函数
  22. Python基础教程系列之–Python模块
  23. Python基础教程系列之–Python 文件I/O
  24. Python基础教程系列之–Python 异常处理
  25. Python基础教程系列之–Python 文件I/O
  26. Python基础教程系列之–Python 异常处理
系列详情请看:《Python基础教程》:

Python基础教程,适合Python小白阅读,更多有关Python的内容可以加QQ 群:479935456 讨论,也可以到论坛Python专区(//bbs.linuxdaxue.com/forum-49-1.html)发贴讨论~~

Python 循环嵌套

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!
查看同系列相邻文章:<< Python基础教程系列之–Python for 循环语句Python基础教程系列之–Python break 语句 >>

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: