Python 中的for,if-else和while語句

帥胡不帥發表於2019-01-11

for 迴圈

功能

for 迴圈是一種迭代迴圈機制,迭代即重複相同的邏輯操作,每次的操作都是基於上一次的結果而進行的。並且for迴圈可以遍歷任何序列的專案,如一個列表或者一個字串

語法

for 迴圈的一般格式如下:

for <variable> in <sequence>
    <staements>

註釋:variable 為變數,用於控制被迭代的物件;sequence 是可迭代的物件多為列表或者字串

for迴圈例項:

str=”hello”

for i in str :
    print(i)

 

執行結果:

       D:Anaconda3python.exe
D:/PycharmProjects/pythonz/day1/boke.py

h

e

l

l

o

遍歷序列型別:

name_list=[`hu`,`jin`,`xie`,`xu`]

for i in name_list : #通過序列迭代
    print(i)
print(`
`)

for i in range(len(name_list)) : #通過索引迭代
    print(`index is %s,name is %s`%(i+1,name_list[i]))
print(`
`)

for i ,name in enumerate(name_list,1) : #基於enumerate的項和索引
    print(`index is %s,name is %s`%(i,name))

執行結果:

D:Anaconda3python.exe
D:/PycharmProjects/pythonz/day1/boke.py

hu

jin

xie

xu

 

index is 1,name is hu

index is 2,name is jin

index is 3,name is xie

index is 4,name is xu

 

index is 1,name is hu

index is 2,name is jin

index is 3,name is xie

index is 4,name is xu

for語句中的range()函式

如果你需要遍歷數字序列,可以使用內建range()函式,它會生成數列。

range()的語法:

range(start,end,step=1)

(1)   
range(10):預設step=1,start=0,生成的可迭代物件,包含[0,1,2,3,4,5,6,7,8,9]

(2)   
range(1,10):指定start=1,end=10, 預設step=1,生成的可迭代物件,包含[1,2,3,4,5,6,7,8,9]

(3)   
range(1,10,2): 指定start=1,end=10, step=2,生成的可迭代物件,包含[1,3,5,7,9]

例如:

for i in range(1,10,2) :
    print(i)

執行結果:

1

3

5

7

9

注:for基於range()實現計數迴圈,range()聲稱可迭代物件,說明for迴圈本質還是一種迭代迴圈

你可以結合range()和len()函式以遍歷一個序列的索引,如下所示:

str=[`hu`,`jin`,`xie`,`xu`]
for i in range(len(str)) :
    print(i+1 ,str[i])

執行結果:

D:Anaconda3python.exe
D:/PycharmProjects/pythonz/day1/boke.py

1
hu

2
jin

3
xie

4
xu

if-else 語句

Python程式設計中if語句用於控制程式的執行,基本形式為:

if 判斷條件:
    執行語句…..
else :
    執行語句…..

其中“判斷條件”成立時(非零),則執行後面的語句,執行的內容以縮排來區分表示同一範圍。else為可選語句,當條件不成立時執行相關語句,具體例子如下:

_name=”leigou”

name = input(“username:”)
if name == _name :
    print(“Welcome boss”)
else :
    print(“you are wrong the name is %s:”%_name)

正確輸入時,執行結果:

D:Anaconda3python.exe
D:/PycharmProjects/pythonz/z.py

username:leigou

Welcome boss

錯誤輸入時,執行結果:

D:Anaconda3python.exe
D:/PycharmProjects/pythonz/z.py

username:Leigou

you are wrong the name is:leigou

 

當判斷多個檔案值時,可以使用以下形式:

if 判斷條件1:
    執行語句1…..
elif 判斷條件2:
    執行語句2…..
elif 判斷條件3 :
    執行語句3…..
else :
    執行語句4…..

例項如下:

num=2
if num == 1 :
    print(“boss”)
elif num == 2:
    print(“student”)
elif num == 3:
    print(“worker”)
else :
    print(num)  #條件都不成立時輸出

執行結果:

D:Anaconda3python.exe
D:/PycharmProjects/pythonz/z.py

student

如果判斷需要多個條件同時判斷時,可以使用or(或),表示兩個條件有一個成立時判斷條件即成立;表示兩個條件同時成立的情況下,判斷條件才成立,可以使用and(與),例項如下:

num = 10
if num > 0 or num < 10 :
    print(“hello”)
else :
    print(“undefine”)

num = 8
if (num >= 0 and num <= 5) or (num >= 10 and num
<= 15) :
    print(“hello”)
else :
    print(“undefine”)

執行結果:

D:Anaconda3python.exe
D:/PycharmProjects/pythonz/z.py

hello

hello

undefine

while迴圈

Python程式設計中while迴圈語句用於迴圈執行程式,即在某條件下,迴圈執行某段程式,以處理需要重複處理的相同任務,其基本形式如下:

while 判斷條件:
    執行語句……

執行語句可以是單個語句塊。判斷語句可以是任何表示式,任何非零或非空的值均為True。當判斷條件是Flase時,迴圈結束,例項如下:

count=0
while count < 5 :
    print(“This count is :%s”%count)
    count+=1
print(“Good
bye!”)

執行結果:D:Anaconda3python.exe D:/PycharmProjects/pythonz/z.py

This
count is :0

This
count is :1

This
count is :2

This
count is :3

This
count is :4

Good
bye!

while語句還有另外兩個重要的命令continue,break來跳過迴圈,continue用來跳過該次迴圈,break則用來退出本次迴圈,此外“判斷條件”還可以是個常數,表示迴圈必定成立,具體用法如下:

i=1
while i < 10 :
    i = i + 1
    if i%2 > 0 :
        continue
    print(i)
print(“=”*40)

i=1
while 1 :
    print(i,” “,end=””)
    i+=1

執行結果:

D:Anaconda3python.exe
D:/PycharmProjects/pythonz/z.py

2

4

6

8

10

========================================

1   2   3   4   5   6   7   8   9   10

 

相關文章