麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Python > 正文

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

2020-02-15 23:48:01
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1、定義標(biāo)記變量;利用變量值的變化退出循環(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關(guān)鍵字 實(shí)現(xiàn)跳出循環(huán)(在函數(shù)內(nèi)部只要執(zhí)行完return語(yǔ)句 則直接退出函數(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)的方法

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

Python 本身沒(méi)有“break n” 和“goto” 的語(yǔ)法,這也造成了Python 難以跳出多層(特定層數(shù))循環(huán)。下面是幾個(gè)跳出多層(特定層數(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),接下來(lái)的這個(gè)正是為了跳出特定層數(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 之后沒(méi)有區(qū)別,但是如果用break結(jié)束循環(huán)之后else就不會(huì)執(zhí)行了。這也是個(gè)很新奇的做法。

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

總結(jié)

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 少妇一级淫片免费放4p | 欧美一级做性受免费大片免费 | 欧美一级精品片在线看 | 国产精品成aⅴ人片在线观看 | bt 自拍 另类 综合 欧美 | 毛片免费看的 | 亚洲精久久 | 日本在线观看高清完整版 | 国产亚洲精品成人a | 全黄裸片武则天一级第4季 偿还电影免费看 | 成人在线观看免费爱爱 | www.com香蕉 | 毛片视频网站 | 久久国产精品区 | 曰韩毛片| 日本视频网 | 久久久久久久久久美女 | 黄色大片在线观看 | 在线成人一区二区 | 国产一区二区三区高清 | 成年性羞羞视频免费观看无限 | 91福利免费观看 | 欧美日韩亚洲一区二区三区 | 免费看欧美黑人毛片 | 人成久久 | 夜夜夜影院 | av在线免费观看网 | 国产美女精品视频 | 日本网站在线播放 | 超碰一区| av电影在线观看网址 | 草莓福利视频在线观看 | 日韩精品久久久久久 | 国产精品美女一区二区 | 成人勉费视频 | 午夜精品久久久久久久99热浪潮 | 亚洲少妇诱惑 | 欧美精品免费一区二区三区 | 成人做爰高潮片免费视频韩国 | 中文字幕在线看第二 | av在线影片 |