成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python循環語句代碼詳解:while、for、break

開發 后端
循環語句是程序設計中常用的語句之一。任何編程語言都有while循環,Python也不例外。

.1 while循環

循環語句是程序設計中常用的語句之一。任何編程語言都有while循環,Python也不例外。while循環的格式如下所示。

  1.  while(表達式): 
  2.      … 
  3.  else: 
  4.      … 

while循環的執行過程:當循環表達式為真時,依次執行while中的語句。直到循環表達式的值為False,程序的流程轉到else語句。其中else子句可以省略,表達式兩側的括號也可以省略。

[[356958]]

注意:while循環中的else子句也屬于循環的一部分,最后一次循環結束后將執行else子句。

下面這段代碼演示了while循環的使用。程序首先要求輸入5個數字,然后依次輸出這5個數字。

  1.  # while循環 
  2.  numbers = input("輸入幾個數字,用逗號分隔:").split(",") 
  3.  print(numbers) 
  4.  x = 0 
  5.  while x < len(numbers):    # 當x的值小于輸入字數的個數的時候,執行循環內容     
  6.      print (numbers[x]) 
  7.      x += 1                  # 一個循環結束時給x加1 

【代碼說明】

  • 第2行代碼使用input()捕獲輸入。按照提示輸入5個數字,并用逗號分隔。input()根據輸入的逗號,生成一個列表。
  • 第3行代碼輸出列表numbers的內容。
  • 第4行代碼定義變量x的值為0。
  • 第5行代碼循環列表numbers。
  • 第6行代碼輸出列表中第x+1個數字的值。
  • 第7行代碼,每次循環使變量x增1。

下面【例3-6】中的這段代碼演示了else子句在while循環中的使用。當變量x的值大于0時,執行循環,否則輸出變量x的值。

【例3-6.py】

  1.  # 帶else子句的while循環 
  2.  x = float(input("輸入x的值:"))   # 接收用戶輸入的數字并轉換為float類型 
  3.  i = 0 
  4.  while(x  != 0):                  # Python 3中的不等于不再使用<>,一律使用!= 
  5.      if(x > 0): 
  6.          x -1                  # 如果x大于0,則減1 
  7.      else: 
  8.          x += 1                 # 如果x小于0,則加1 
  9.      ii = i + 1 
  10.      print( "第%d次循環:%f" %(i, x)) 
  11.  else: 
  12.      print ("x等于0:", x) 

【代碼說明】

  • 第2行代碼輸入變量x的值。
  • 第3行代碼定義變量i,變量i表示循環次數。
  • 第4行代碼,給出循環條件x != 0。如果x不等于0,則執行第5行代碼;否則,執行else子句的內容。
  • 第5行代碼,判斷變量x的值是否大于0。
  • 第6行代碼,如果x的值大于0,則每次循環都減1。
  • 第7行代碼,判斷變量x的值是否小于0。
  • 第8行代碼,如果x的值小于0,則每次循環都加1。
  • 第9行代碼,每次循環使變量i的值加1。
  • 第11行代碼,循環結束,else子句輸出變量x的值。輸出結果(假設輸入數字為0):x等于0:0。

在使用循環語句時,應注意循環表達式的布爾值,避免出現死循環。死循環是指循環條件永遠為真的循環。例如:

  1.  i = 1 
  2.  while i > 0:     # i永遠大于0 
  3.      ii = i + 1 
  4.      print(i) 

這段代碼就是一個死循環,變量i的值永遠都大于0。

2. for循環

for循環用于遍歷一個集合,依次訪問集合中的每個項目。for循環的格式如下所示。

  1.  for 變量 in 集合: 
  2.      … 
  3.  else: 
  4.      … 

for…in…循環的執行過程:每次循環從集合中取出一個值,并把該值賦值給變量。集合可以是元組、列表、字典等數據結構。其中else子句可以省略。

注意:for循環中的else子句也屬于循環的一部分,最后一次循環結束后將執行else子句。

for…in…循環通常與range()函數一起使用,range()返回一個列表,for…in…遍歷列表中的元素。range()函數的聲明如下:

  1. class range(object) 
  2.    range(stop) -> range object 
  3. range(start, stop[, step]) -> range object 

【代碼說明】

range()返回一個range對象,列表的元素值由3個參數決定:參數start表示列表開始的值,默認值為0;參數stop表示列表結束的值,該參數不可缺少;參數setp表示步長,即每次遞增或遞減的值,默認值為1。

下面【例3-7】中的這段代碼遍歷range()生成的列表,過濾出正數、負數和0。

【例3-7.py】

  1.  # for in語句 
  2.  for x in range(-1, 2): 
  3.      if x > 0:  
  4.          print ("正數:",x) 
  5.      elif x == 0 :  
  6.          print ("零:",x) 
  7.      else: 
  8.          print ("負數:",x) 
  9.  else: 
  10.     print ("循環結束") 

【代碼說明】

  • 第2行代碼遍歷range(-1,2)生成的列表。range(-1,2)返回的3個數字分別為-1、0、1。每次循環結束,變量x的值依次為-1、0、1。
  • 第3行代碼判斷變量x的值是否大于0。
  • 第4行代碼輸出正數的值。輸出結果為“正數:1”。
  • 第5行代碼判斷變量x的值是否等于0。
  • 第6行代碼,輸出結果為“零:0”。
  • 第8行代碼,輸出負數的值。輸出結果為“負數:-1”。
  • 第9行代碼并沒有結束for循環,else子句執行后循環才結束。輸出結果為“負數:-1”。

在C、Java語言中,支持如下結構的for語句。

  1. for(表達式1; 表達式2; 表達式3)  
  2. 語句塊 

Python不支持這樣的for循環。如果需要編寫類似功能的循環,可以使用while循環。例如:

  1.  x = 0 
  2.  while x < 5: 
  3.      print(x) 
  4.      xx = x + 2 

while循環的寫法比較瑣碎,需要比較判斷。因此,對此也可以使用for循環,借助range()函數來實現。例如:

  1.  for x in range(0, 5, 2): 
  2.      print (x) 

【代碼說明】

輸出的數字在[0,5)這個區間,不包括5。每次循環結束,x的值加2。輸出結果:

這里只用了兩行代碼就實現了傳統for循環。如果要用條件表達式作為循環的條件,可以構造range()函數來實現。

3. break和continue語句

break語句可以使程序跳出循環語句,從而執行循環體之外的程序,即break語句可以提前結束循環。例如,模擬switch分支結構使用了break語句。

  1.  operator = "+" 
  2.   x = 1 
  3.   y = 2 
  4.   for case in switch(operator):   # switch只能用于for... in...循環中 
  5.       if case('+'): 
  6.           print (x + y) 
  7.           break 
  8.       if case('-'): 
  9.           print (x - y) 
  10.          break 
  11.      if case('*'): 
  12.          print (x * y) 
  13.          break 
  14.      if case('/'): 
  15.          print (x / y) 
  16.          break 
  17.      if case():                      # 默認分支 
  18.          print ("") 

【代碼說明】

第7行代碼中使用了break。當變量operator的值為“+”,則執行表達式x + y,然后中斷switch分支結構,后面的case分支都不會執行。此時輸出結果為3。后面的break作用相同。當匹配到某個case后,程序將跳出switch。

如果第一個case不使用break子句,程序將輸出兩個值,分別是3和-1。因為執行完輸出表達式x + y后,分支結構并沒有中斷,程序將流轉到下面一個case。然后繼續計算表達式x – y的值,遇到后面的break語句才退出分支結構。break語句在循環結構中也有類似的作用。【例3-8】中的這段代碼將從0到99中查找用戶輸入的值。

【例3-8.py】

  1.  x = int(input("輸入x的值:")) 
  2.  y = 0 
  3.  for y in range(0, 100): 
  4.      if x == y: 
  5.          print ("找到數字:", x) 
  6.          break 
  7.  else: 
  8.      print("沒有找到") 

【代碼說明】

  • 第1行代碼捕獲用戶輸入的值,并把該值轉換為int類型,賦值給變量x。
  • 第2行代碼定義一個變量y,變量y用于暫存需要遍歷的列表的值。
  • 第3行代碼使用for…in…循環遍歷range(0, 100)返回的列表。range(0, 100)的返回值為0、1、2、…、99。
  • 第4行代碼判斷輸入的值是否等于列表中的值。如果條件成立,輸出查找到的數字,并立即退出循環。循環結束,后面的else子句將不會被執行。
  • 第7行代碼,當沒有找到輸入的值時,else子句后面的代碼將被執行。

注意:break語句不能運行在循環體或分支語句之外,否則,Python解釋器將提示如下錯誤。

  1. SyntaxError: 'break' outside loop 

continue語句也是用來跳出循環的語句,但是與break不同的是,使用continue語句不會跳出整個循環體,只是跳出當前的循環,然后繼續執行后面的循環。

  1.  x = 0 
  2.  for i in [1,2,3,4,5]: 
  3.      if x == i: 
  4.      continue 
  5.  x  += i 
  6.  print("x的值為", x)     

【代碼說明】

  • 第1行代碼將x賦值為0。
  • 第2行代碼使用for...in...語句遍歷列表[1,2,3,4,5]。
  • 第3行代碼將x與i進行比較,如果x與值i相等,則執行第4行的continue語句,停止當前循環,即不再執行第5行代碼,繼續執行下一個循環。
  • 第6行代碼打印出最終的結果,輸出為12。

 

責任編輯:趙寧寧 來源: 華章科技
相關推薦

2010-09-09 16:34:19

SQL循環while

2024-06-06 09:09:41

SQL循環控制命令

2020-11-13 07:22:46

Java基礎While

2022-01-27 09:35:45

whiledo-while循環Java基礎

2009-11-10 11:30:12

VB.NET循環語句

2010-05-11 12:53:58

Unix awk

2019-09-16 09:08:15

Python收藏C語言

2021-01-28 09:55:50

while(1)for(;;)Linux

2021-03-17 11:16:58

while(1)for(;;)語言

2010-03-16 11:05:53

Java while循

2010-03-19 14:18:07

Java Socket

2021-12-09 23:20:31

Python循環語句

2021-03-24 13:17:41

編程循環語句Java

2010-02-01 17:24:41

C++循環語句

2021-08-11 09:00:30

Python基礎循環

2023-04-20 13:59:01

Pythonwhile循環的

2010-09-08 17:00:22

SQLWHILE循環

2021-01-29 07:22:09

C#ContinueReturn

2009-08-27 12:56:53

breakcontinuereturn

2024-06-21 09:37:02

DefPython函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色爱区综合 | 日韩手机在线看片 | 欧美一区成人 | 在线中文字幕av | 国产在线视频一区二区董小宛性色 | 亚洲精品久久久久久久久久久 | 成人欧美一区二区三区视频xxx | 国产精品视频yy9299一区 | 中文字幕国产日韩 | 亚洲免费一区 | jizz在线免费观看 | 日韩在线一区二区三区 | 国产精品一区在线播放 | 亚洲激情第一页 | 久久夜色精品国产 | www视频在线观看 | 精品久久香蕉国产线看观看亚洲 | 亚洲视屏 | 精品一区二区在线观看 | 日韩高清国产一区在线 | 亚洲欧美成人影院 | 国产天天操| 久久久久久国产精品免费免费 | 日本精品999 | 性大毛片视频 | 久久伦理电影 | 欧美 日韩 国产 在线 | 中文字幕亚洲区 | 精品一二三区在线观看 | 一区观看| 亚洲精品在线91 | 国产亚洲日本精品 | 久草99 | 成人在线免费观看 | 91精品国产欧美一区二区成人 | 成人日韩 | 狠狠干影院 | 草草影院ccyy | 亚洲成人播放器 | 国产午夜精品视频 | 综合九九 |