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

首頁 > 編程 > Python > 正文

python中退出多層循環(huán)的方法

2020-01-04 13:59:45
字體:
來源:轉載
供稿:網(wǎng)友

1、定義標記變量;利用變量值的變化退出循環(huán)

# 第一種嵌套形式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、使用函數(shù)配合return關鍵字 實現(xiàn)跳出循環(huán)(在函數(shù)內(nèi)部只要執(zhí)行完return語句 則直接退出函數(shù))

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

 3、利用else continue 和外層的break跳出循環(huán)

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("未執(zhí)行")    continue  break

python跳出多層循環(huán)的方法

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

Python 本身沒有“break n” 和“goto” 的語法,這也造成了Python 難以跳出多層(特定層數(shù))循環(huán)。下面是幾個跳出多層(特定層數(shù))循環(huán)的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、封裝為函數(shù)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 ... 用法

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

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 正常循環(huán)完成之后執(zhí)行,和直接寫在 while和for 之后沒有區(qū)別,但是如果用break結束循環(huán)之后else就不會執(zhí)行了。這也是個很新奇的做法。

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

總結

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


注:相關教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 富裕县| 广元市| 安仁县| 阿图什市| 西华县| 桓仁| 册亨县| 惠州市| 镇安县| 简阳市| 图们市| 新田县| 遵义市| 赫章县| 西乌| 新绛县| 无为县| 从化市| 古蔺县| 定远县| 吕梁市| 遵义县| 蛟河市| 高青县| 铜梁县| 剑河县| 藁城市| 湖北省| 桐庐县| 台湾省| 滨海县| 佳木斯市| 子长县| 虹口区| 瑞金市| 塘沽区| 信宜市| 西安市| 竹山县| 郴州市| SHOW|