激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python中的條件判斷語句與循環語句用法小結

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

2020-08-17 11:22腳本之家 Python

這篇文章主要介紹了Python中的條件判斷語句與循環語句用法小結,條件語句和循環語句是Python程序流程控制的基礎,需要的朋友可以參考下

if語句

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

?
1
2
3
4
5
6
if <test1>:
 <statements1>
elif <test2>:
 <statements2>
else:
 <statements3>

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


while循環

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

>>一般格式

?
1
2
3
4
5
while <test>:
 <statements1>
else:
 <statements2>
>>break,continue,pass和循環else

break

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

continue

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

pass

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

循環else塊

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

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

?
1
2
3
4
5
6
7
while <test1>:
 <statements1>
 if <test2>:break
 if <test3>:continue
else:
 <statements2>
>>pass

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

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

?
1
2
3
4
5
6
7
8
x = y // 2
while x > 1:
 if y % x == 0:
  print(y,'has factor',x)
  break
 x -= 1
else:
 print(y,'is prime')

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
found=False
while 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')
  break
else:
 print('not found')

for循環

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

>>一般格式

?
1
2
3
4
for <target> in <object>:
 <statements>
else:
 <statements>

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

編寫循環的技巧

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

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

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

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

相應的C++代碼則是:

?
1
2
3
4
5
int i;
for(i = 0;i < 5;++i)
{
 std::cout<<i<<"Python";
}

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

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

上述代碼的執行結果是:

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

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

使用zip構造字典:

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜国产在线观看 | 福利免费观看 | 成年免费视频黄网站在线观看 | 欧美成人精品欧美一级 | 一级全毛片 | 免费在线国产 | av免费提供 | 日韩黄a | 日本爽快片100色毛片视频 | av免费在线观看免费 | 四虎久草 | 国产一级淫片a级aaa | 999精品国产 | 久久久久久久久久性 | 9797色 | 黄色网在线播放 | xxxx8| 国产亚洲黑人性受xxxx精品 | 在线观看一二区 | 黄色av网站免费看 | 最新毛片在线观看 | 日日狠狠久久 | 国产成人在线看 | 欧美激情天堂 | 成人视屏网站 | 青青草免费观看完整版高清 | 国产一区二区三区在线免费观看 | 成人aaaaa片毛片按摩 | 日日狠狠久久偷偷四色综合免费 | 亚洲视频在线视频 | 最新91在线视频 | 成人性视频欧美一区二区三区 | 综合在线视频 | 涩涩天堂 | 欧美日韩一区,二区,三区,久久精品 | 成人辣文 | 国产91丝袜在线熟 | 亚洲精久久 | 欧美福利视频一区二区 | 91看片欧美| 免费一级特黄毛片视频 |