阅读(2304) (2)

Python 循环嵌套

2015-09-27 23:12:02 更新

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 循环。

实例:

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

i = 2
while(i < 100):
   j = 2
   while(j <= (i/j)):
      if not(i%j): break
      j = j + 1
   if (j > i/j) : 
      print "{} 是素数".format(i)
   i = i + 1

print "Good bye!"

以上实例输出结果:

2 是素数

3 是素数

5 是素数

7 是素数

11 是素数

13 是素数

17 是素数

19 是素数

23 是素数

29 是素数

31 是素数

37 是素数

41 是素数

43 是素数

47 是素数

53 是素数

59 是素数

61 是素数

67 是素数

71 是素数

73 是素数

79 是素数

83 是素数

89 是素数

97 是素数

Good bye!


更多实例

实例一:使用循环嵌套来获取 100 以内的质数

#!/usr/bin/python
# -*- coding: UTF-8 -*-

num=[];
i=2
for i in range(2,100):
   j=2
   for j in range(2,i):
      if(i%j==0):
         break
   else:
      num.append(i)
print num

运行结果:

 [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

实例二:使用嵌套循环实现*字塔的实现

#!/usr/bin/python
# -*- coding: UTF-8 -*-

#*字塔
i=1
#j=1
while i<=9:
   if i<=5:
      print "*"*i

   elif i<=9 :
      j=i-2*(i-5)
      print "*"*j 
   i+=1
else :
   print ""

运行结果:

*

**

***

****

*****

****

***

**

*