国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中退出多層循環的方法

2020-02-15 23:48:01
字體:
來源:轉載
供稿:網友

1、定義標記變量;利用變量值的變化退出循環

# 第一種嵌套形式a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]# init_i = 0# init_j = 0flag = Truefor i in range(3):  for j in range(3):    # print(i, j)    if a[i][j] == 5:      flag = False      init_i = i      init_j = j      break  if not flag:    breakprint(init_i, init_j)print(i, j)# 第二種嵌套形式flag = Truewhile flag:  for i in range(10):    print(x)    flag = False    break

 2、使用函數配合return關鍵字 實現跳出循環(在函數內部只要執行完return語句 則直接退出函數)

def test():  while True:    for x in range(10):      print(x)      returntest()

 3、利用else continue 和外層的break跳出循環

a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]init_i = 0init_j = 0flag = Truefor i in range(3):  for j in range(3):    # print(i, j)    if a[i][j] == 5:      flag = False      init_i = i      init_j = j      break  else:    continue  break  # if not flag:  #   breakprint(init_i, init_j)print(i, j)while True:  for x in range(4):    print(x)    if x == 2:      break  else:    print("未執行")    continue  break

python跳出多層循環的方法

今天同事問我一個python面試題,關于python跳出多層循環,原來還真沒用過,網上一查還真有點意思,下面記錄一下:

Python 本身沒有“break n” 和“goto” 的語法,這也造成了Python 難以跳出多層(特定層數)循環。下面是幾個跳出多層(特定層數)循環的tip。

1、自定義異常

class getoutofloop(Exception): passtry:  for i in range(5):    for j in range(5):      for k in range(5):        if i == j == k == 3:          raise getoutofloop()        else:          print i, '----', j, '----', kexcept getoutofloop:  pass

2、封裝為函數return

def test():  for i in range(5):    for j in range(5):      for k in range(5):        if i == j == k == 3:          return        else:          print i, '----', j, '----', ktest()

3、for ... else ... 用法

上面的兩種都是只能跳出多層而不能跳出特定層數的循環,接下來的這個正是為了跳出特定層數的循環。

for i in range(5):  for j in range(5):    for k in range(5):      if i == j == k == 3:        break      else:        print i, '----', j, '----', k    else: continue    break  else: continue  break

else在 while和for 正常循環完成之后執行,和直接寫在 while和for 之后沒有區別,但是如果用break結束循環之后else就不會執行了。這也是個很新奇的做法。

才知道原來可以作為跳出多層循環用。不過要是有多次跳出不同層的循環的需求,也沒轍了。

總結

以上所述是小編給大家介紹的python中退出多層循環的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 静乐县| 潞城市| 松桃| 麻阳| 陕西省| 铜山县| 嵊泗县| 宜宾县| 靖江市| 惠安县| 双柏县| 如东县| 固始县| 衡阳市| 合作市| 维西| 吴旗县| 屏山县| 滕州市| 湟源县| 石屏县| 沂水县| 洮南市| 塘沽区| 海城市| 蓬溪县| 铜梁县| 会理县| 葫芦岛市| 蓬溪县| 海口市| 昌图县| 柞水县| 宽城| 伊宁市| 景洪市| 治多县| 和平县| 册亨县| 斗六市| 绥化市|