首頁  >  文章  >  後端開發  >  Python 循環嵌套

Python 循環嵌套

高洛峰
高洛峰原創
2016-11-23 10:55:132049瀏覽

Python 語言允許在一個循環體裡面嵌入另一個循環。

Python for 循環巢狀語法:

for iterating_var in sequence:

   

   statements(s)

   

Python while 循環嵌套文法:

while expression:

   while expression:

    

你可以在循環體內嵌入其他的循環體,如在while循環中可以嵌入for循環, 反之,你可以在for循環中嵌入while循環。

實例:

1. 從第一個列表中每次取出一個,從第二個列表中也每次取出一個,組合成一個新的列表,新列表中包含所有組合

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

List2 = [1, 2]

     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], ['tang', 1], ['tang', 2]]

   

 

2. 一個清單每次取出兩個,找出所有組合方式

List = [1,05,4,35, )

 

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

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

   

結果:

1 2

1 3

1 4

1 5

3 5

4 5

   

 

3. 以下實例使用了嵌套循環輸出2~20之間的質數:

分析:對於一個數n ,如果從1 到n ** 0.5(根號n) 的數都是能整除,那麼n這個數就是質數。

3.1 用for 來實現

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

 

 n):

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

        if i % j == 0:

           print i, '是素數'

   

3.2 用while 來實作

#!/usr/bin/python

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

   j = 2

   while(j       if not(i%j):  #     break

      j = j + 1

   if (j > i/j):

       print i, " 是素數"

   i1= 

   

解釋:i % j 的意思是i 除以j 後的餘數。對於數字,0對應的布林值為假,其它值都是真,not ( i % j ) 的意思是 ,當 i % j 為 0 時才能條件成立,意思就是整除的時候,如果能整除的意思。

 

以上實例輸出結果:

2 是素數

3 是素數

17 是素數

Good bye !

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn