国产探花免费观看_亚洲丰满少妇自慰呻吟_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中退出多層循環的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 格尔木市| 阿拉尔市| 扶余县| 德昌县| 阜新市| 锡林浩特市| 马龙县| 津市市| 安塞县| 桑植县| 含山县| 湘乡市| 四平市| 沾化县| 德化县| 潼南县| 宝鸡市| 卓资县| 信宜市| 南投市| 柘荣县| 独山县| 海兴县| 广丰县| 新安县| 吴堡县| 任丘市| 来安县| 瑞安市| 赣榆县| 迁安市| 景泰县| 高陵县| 龙口市| 林甸县| 大悟县| 万全县| 徐州市| 崇仁县| 南阳市| 德阳市|