好看的代碼千篇一概,噁心的程序升職加薪。
程序員
該說不說幾乎是程序員就都知道或者瞭解設計模式,但大部分小夥伴寫代碼老是習慣於一把梭。不管多少業務邏輯就一個類幾千行,這樣的開發也能夠概括爲三步;定義屬性、建立方法、調用展現,Done!只不過開發一時爽,重構火葬場。windows
今天博主跟你們聊一聊如何使用Python的循環語句!不喜勿噴,若有建議歡迎補充、討論!設計模式
關於安裝和漢化能夠觀看博主的這篇文章《VsCode下載安裝及漢化 》以及Python系列:windows10配置Python3.0開發環境!,安裝完畢重啓VsCode!服務器
Python中的循環語句有
for
和while
。
Python循環語句的控制結構圖以下所示:markdown
while
循環Python中while語句的通常形式:函數
while 判斷條件:
語句
複製代碼
上一篇文章的代碼oop
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
a = 1
while a < 7:
if(a % 2 == 0):
print(a, "one")
else :
print(a, "two")
a +=1
複製代碼
一樣須要注意冒號和縮進。另外,在 Python 中沒有 do..while 循環。post
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 %d 之和爲: %d" % (n,sum))
複製代碼
結果以下: spa
能夠設置條件表達式永遠不爲 false 來實現無限循環,實例以下:設計
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
var = 1
while var == 1 : # 表達式永遠爲 true
num = int(input("輸入一個數字 :"))
print ("你輸入的數字是: ", num)
print ("Good bye!")
複製代碼
結果以下:
在命令操做符中你能夠使用 CTRL+C 來退出當前的無限循環。在VsCode能夠經過結束調試退出當前無限循環
無限循環在服務器上客戶端的實時請求很是有用。
while
循環使用 else
語句在 while … else 在條件語句爲 false 時執行 else 的語句塊:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
count = 0
while count < 9:
print (count, " 小於 9")
count = count + 1
else:
print (count, " 大於或等於 9")
複製代碼
結果以下:
相似
if
語句的語法,若是你的while
循環體中只有一條語句,你能夠將該語句與while
寫在同一行中, 以下所示:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
flag = 1
while (flag): print ('歡迎關注陳永佳的博客!')
print ("Hello Welcome!")
複製代碼
結果以下:
注意:以上的無限循環在命令操做符中你能夠使用 CTRL+C 來中斷循環。在VsCode能夠經過結束調試退出當前無限循環
Python for循環能夠遍歷任何序列的項目,如一個列表或者一個字符串。
for循環的通常格式以下:
for <variable> in <sequence>:
<statements>
else:
<statements>
複製代碼
Python loop
循環:'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
languages = ["C", "C++", "Perl", "Java", "Python"]
for x in languages:
print (x)
複製代碼
結果以下:
for實例中使用break 語句,break 語句用於跳出當前循環體:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
sites = ["Baidu", "Google","Mr_Chen","Taobao"]
for site in sites:
if site == "Runoob":
print("陳永佳的博客!")
break
print("循環數據 " + site)
else:
print("沒有循環數據!")
print("完成循環!")
複製代碼
結果以下:
range()
函數若是你須要遍歷數字序列,能夠使用內置
range()
函數。它會生成數列,以下:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for i in range(9):
print(i)
複製代碼
結果以下:
你也能夠使用range指定區間的值:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for i in range(2,9):
print(i)
複製代碼
結果以下:
也能夠使
range
以指定數字開始並指定不一樣的增量(甚至能夠是負數,有時這也叫作'步長',即一次跨越多少!):
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for i in range(2,11,4):
print(i)
複製代碼
結果以下:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for i in range(-10,-100,-5):
print(i)
複製代碼
結果以下:
還能夠結合
range()
和len()
函數以遍歷一個序列的索引,以下所示:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
a = ['Google', 'Baidu', 'Mr_Chen', 'Taobao', 'QQ']
for i in range(len(a)):
print(i, a[i])
複製代碼
結果以下:
還能夠使用
range()
函數來建立一個列表:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
print(list(range(5)))
複製代碼
結果以下:
break
和 continue
語句及循環中的 else
子句
break
語句能夠跳出for
和while
的循環體。若是你從for
或while
循環中終止,任何對應的循環else
塊將不執行。 實例以下:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for letter in 'Mr_XiaoChen': # 第一個實例
if letter == 'a':
break
print ('當前字母爲 :', letter)
var = 10 # 第二個實例
while var > 0:
print ('當期變量值爲 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
複製代碼
結果以下:
continue語句被用來告訴Python跳過當前循環塊中的剩餘語句,而後繼續進行下一輪循環。
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for letter in 'Mr_XiaooChen': # 第一個實例
if letter == 'o': # 字母爲 o 時跳過輸出
continue
print ('當前字母 :', letter)
var = 10 # 第二個實例
while var > 0:
var = var -1
if var == 5: # 變量爲 5 時跳過輸出
continue
print ('當前變量值 :', var)
print ("Good bye!")
複製代碼
結果以下:
循環語句能夠有 else 子句,它在窮盡列表(以for循環)或條件變爲 false (以while循環)致使循環終止時被執行,但循環被break終止時不執行。
以下實例用於查詢質數的循環例子:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, '等於', x, '*', n//x)
break
else:
# 循環中沒有找到元素
print(n, ' 是質數')
複製代碼
結果以下:
pass
語句
Python pass
是空語句,是爲了保持程序結構的完整性。
pass 不作任何事情,通常用作佔位語句,以下實例
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
while True:
pass # 等待鍵盤中斷 (Ctrl+C)
複製代碼
如下實例在字母爲
C
時 執行pass
語句塊:
'''
@name: Sunny Chen
@test: test font
@msg: 這是由Sunny Chen建立.
@param:
@return:
'''
for letter in 'Mr_Chen':
if letter == 'C':
pass
print ('執行 pass 塊')
print ('當前字母 :', letter)
print ("Good bye!")
複製代碼
結果以下:
到這裏:Python的循環語句!分享完畢了,快去試試吧!