国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python中的條件判斷語句與循環語句用法小結

2019-11-25 16:52:07
字體:
來源:轉載
供稿:網友

if語句

>>通用格式
if語句一般形式如下:

if <test1>: <statements1>elif <test2>: <statements2>else: <statements3>

另外需要注意的是,Python中是沒有switch/case語句的


while循環

while語句是Python語言中最通用的迭代結構,簡而言之,只要頂端測試一直計算到真值,就會重復執行一個語句塊。

>>一般格式

while <test>: <statements1>else: <statements2>>>break,continue,pass和循環else

break

跳出最近所在的循環(跳過整個循環語句)。

continue

跳到最近所在循環的開頭處(來到循環的首行)。

pass

什么事也不做,只是空占位符語句。

循環else塊

只有當前循環正常離開時才會執行(也就是沒有碰到break語句)

>>一般循環格式
加入break和continue語句后,while的一般格式變為:

while <test1>: <statements1> if <test2>:break if <test3>:continueelse: <statements2>>>pass

pass語句是無運算的占位符,當語法需要語句并且還沒有任何實用的語句可寫時,就可以使用它。

>>循環else
在while語句中加入else和C/C++中的語法不太一樣,這里詳細說明一下。else后面的代碼只有當循環正常結束時才會執行,如果是用break跳出循環的,這部分代碼就不會運行,具體看一個求質數的例子:

x = y // 2while x > 1: if y % x == 0:  print(y,'has factor',x)  break x -= 1else: print(y,'is prime')

再看一個對比的例子,沒有使用else的情況:

found=Falsewhile x and not found: if (matchx[0]):  print('Ni')  found=True else:  x=x[1:]if not found: print('not found')使用else后的情況:while x: if (match(x[0])):  print('Ni')  breakelse: print('not found')

for循環

for循環在Python中是一個通用的序列迭代器:可以遍歷任何有序的序列對象內元素。for語句可以用于字符串、列表、元組、其他內置可迭代對象。

>>一般格式

for <target> in <object>: <statements>else: <statements>

此處的else的作用和while語句中的一樣。另外需要注意的是,當Python運行for循環時,會逐個將序列對象中的元素賦值給目標,然后為每個元素執行循環體。

編寫循環的技巧

內置range函數:返回一系列連續增加的整數,可作為for中的索引
內置zip函數:返回并行元素的元組的列表,可用于在for中遍歷數個數列
>>循環計數器:while和range
range

當range函數只有一個參數時,會返回從零算起的整數列表,但其中不包括該參數的值。如果傳進兩個參數,那第一個參數是上邊界,第二個參數是下邊界。如果傳進三個參數時,第三個參數表示步進值。

range提供了一種簡單的方法,重復特定次數的動作:

for i in range(5): print(i,'Pythons')

相應的C++代碼則是:

int i;for(i = 0;i < 5;++i){ std::cout<<i<<"Python";}

>>并行遍歷:zip和map
zip會取得一個或多個序列為參數,然后返回元組的列表,將這些序列中的并排的元素配成對。

L1=[1,2,3,4]L2=[5,6,7,8]list(zip(L1,L2))

上述代碼的執行結果是:

[(1,5),(2,6),(3,7),(4,8)]

當參數的長度不同時,zip會以最短序列的長度為準來截斷所得到的元組。

使用zip構造字典:

keys=['spam','eggs','totast']values=[1,2,5]D = dict(zip(keys,values))

>>產生偏移和元素:enumerate
enumerate函數一個比較新的內置函數,它能同時返回元素值和偏移值:

s='spam'for (offset,item) in enumerate(s): print(item,'appears at offset',offset)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪洞县| 开化县| 织金县| 福安市| 松溪县| 廉江市| 黄骅市| 罗源县| 宝兴县| 南江县| 赣州市| 梅河口市| 称多县| 噶尔县| 曲靖市| 张家口市| 兴国县| 太原市| 莲花县| 博乐市| 新余市| 郁南县| 留坝县| 柳江县| 黔江区| 区。| 公安县| 榆社县| 辽宁省| 拉孜县| 昌宁县| 香河县| 堆龙德庆县| 张家口市| 曲周县| 阳朔县| 渝中区| 沈阳市| 晋州市| 哈巴河县| 秦皇岛市|