python while循环if_20170403Python控制流if、while、for语句学习
控制流if、while、for語句學習
if elif else語句
if語句是一種最常見的控制流語句類型。它用于判斷一個條件,如果為True,則執行緊跟其后的代碼塊。
一條if語句可以跟上一個或多個elif塊以及一個“滴水不漏”的else塊(如果所有條件都為False)。
if ... :
Print(“”)
elif... :
Print(‘’)
...(Tab鍵縮進的一整塊代碼塊)
elif... :
...
...
...
else...(條件判斷True or False):
.....
....
....
如果任何一個條件為True,則其后的elif或else塊就不會執行。對于用and或or組成的符合條件,各條件是按從左到右的順序求值的,而且是短路的。
范例:
>>>a = 5, b = 7
>>>c = 8 , d = 4
>>>if ad:
Print(“Make it”)
Make it
在本例子中,比較運算c>d是不會被計算的,因為第一個比較運算為True。
for循環
For循環用于對集合(比如列表或元組)或迭代器進行迭代,for循環的標準語法是:
for value in collection:
#對value做一些處理
continue關鍵字 用于使for循環提前進入下一次迭代(即跳過代碼塊的剩余部分)。
看看下面這段代碼,其功能是對列表中的整數求和并跳過None值。
>>> sequence = [1,2,None,4,None,5] #單詞sequence:序列、數列
>>> total = 0
>>> for value in sequence:
if value is None :
continue #該次循環執行到此,不執行該循環(改代碼塊)剩下的total += value部分,提前進入下一次循環
total += value
>>> print(total)
12
>>>
break關鍵字用于使for循環完全退出。下面這段代碼用于對列表的元素求和,遇到2就退出:
>>> sequence = [1,2,None,4,None,5]
>>> total = 0
>>> for value in sequence:
if value ==2 :
break
total += value
>>> print(total)
1
>>>
后面我們還會看到,如果集合或迭代器的元素是序列類型(比如元組或列表),那么還可以非常方便地將這些元素拆散成for循環語句中的多個變量:
for a,b,c in iterator: #for循環中一共有3個變量a , b , c,iterator:迭代器、迭代程序的意思
#做一些處理(前面按Tab鍵)
while循環
While循環定義了一個條件和一個代碼塊,只要條件不為false或者循環沒有被break顯示終止,則代碼塊將一直不斷的執行下去:
>>> x = 256
>>> total = 0
>>> while x > 0 :
if total > 500 :
break
total += x
>>> print(x)
256
>>> print(total)
512
>>>
for循環和while循環的區別:
兩者從表達能力上說是等價的,即兩者能夠完成的事情是一樣的。
其次,由于for語句將初始化,循環條件和每次循環后對循環變量的修改放在一起,比較清晰直觀。因此for語句常用于能夠預先判斷循環次數的循環或遍歷中。如遍歷一個數組,或者執行某操作若干次之類。此時用for語句較優。
while語句的歷史更久,表達方式上更自由靈活,常用于無法事先判斷循環次數的循環。譬如經典的計算C風格字符串的長度的代碼,又如后根遍歷二叉樹的非遞歸實現。此時用while語句會使程序更清晰。
總之一句話,兩者從表達能力上說是等價的,for語句常用于能夠預先判斷循環次數的循環或遍歷中(比如遍歷一個數組、列表、元組或者執行某操作若干次之類),while常用于無法事先判斷循環次數的循環(比如計算字符串的長度的代碼)。
pass
pass是Python中的空操作語句,它可以被用在那些沒有任何功能的代碼塊中。由于Python是根據空白符劃分代碼塊的,所以它的存在是很有必要的。
if x<0:
print(“negative”)
elif x==0:
#TODO:在這里放點代碼
pass
else :
print(“positive”)
在開發一個新功能時,常常會將pass用作代碼中的占位符:
def f(x,y,z):
#TODO:實現這個函數!
pass
總結
以上是生活随笔為你收集整理的python while循环if_20170403Python控制流if、while、for语句学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大学计算机基础水平,大学计算机基础心得.
- 下一篇: python执行oracle命令_如何使