怎么在python中退出多層循環(huán)-創(chuàng)新互聯(lián)

怎么在python中退出多層循環(huán)?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為宜昌企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、做網(wǎng)站,宜昌網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

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

# 第一種嵌套形式
a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]
# init_i = 0
# init_j = 0
flag = True
for 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:
    break
print(init_i, init_j)
print(i, j)

# 第二種嵌套形式
flag = True
while flag:
  for i in range(10):
    print(x)
    flag = False
    break

 2、使用函數(shù)配合return關(guān)鍵字 實現(xiàn)跳出循環(huán)(在函數(shù)內(nèi)部只要執(zhí)行完return語句 則直接退出函數(shù))

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

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

a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]
init_i = 0
init_j = 0
flag = True
for 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:
  #   break
print(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面試題,關(guān)于python跳出多層循環(huán),原來還真沒用過,網(wǎng)上一查還真有點意思,下面記錄一下:

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

1、自定義異常

class getoutofloop(Exception): pass
try:
  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, '----', k
except 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, '----', k
test()

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

python是什么意思

Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨立的項目和大型項目。

看完上述內(nèi)容,你們掌握怎么在python中退出多層循環(huán)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章標題:怎么在python中退出多層循環(huán)-創(chuàng)新互聯(lián)
文章出自:http://bm7419.com/article34/cecjpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、全網(wǎng)營銷推廣商城網(wǎng)站、網(wǎng)站建設(shè)、App設(shè)計、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)