#7 Python順序、條件、循環語句

前言

上一節講解了Python的數據類型和運算,本節將繼續深刻,涉及Python的語句結構,至關於Python的語法,是之後編寫程序的重要基礎!編程

1、順序語句

順序語句很好理解,就是按程序的順序邏輯編寫程序便可,例如:ide

1 name = input('Please input your name:')
2 
3 print('I am ', name)
Please input your name:MinuteSheep
I am  MinuteSheep
輸出結果

 上面代碼展現了很標準的順序語句,邏輯結構以下:工具

 

2、條件語句

每當你的程序須要作出選擇,就要使用條件語句了,條件語句經過判斷條件的真假來決定執行的代碼塊,先來看條件語句的邏輯結構:spa

 

由上圖能夠看到,當條件爲True是,執行語句1和語句2,當條件爲False時,只執行語句2,這就是條件語句的迷人之處3d

代碼塊

細心的小夥伴可能已經發現上面的新名詞:代碼塊。每一種編程語句都有其獨特的代碼塊,在Python中,用縮進來控制代碼塊code

1 name = input('Please input your name:')
2 
3 if name == 'MinuteSheep':
4     print('Your are MS')
5     print('Your are the best man in the world!')
6 else:
7     print('Your are not MS')

從上面的代碼中能夠明顯的看出代碼塊的存在,第4行和第5行是條件爲真的代碼塊,第7行是條件爲假的代碼塊。blog

在Python中,用4個空格或者Tab來縮進,但要注意:整個程序中只能使用一種縮進格式,不能混着使用,不然會提示縮進錯誤。element

單條件

鋪墊了這麼多,也該引出Python條件語句的語法了吧。在Python中,條件語句使用 if......else...... 格式表示條件語句,其形式爲:字符串

if 判斷條件:
    條件爲真代碼塊
else:
    條件爲假代碼塊

其中,else爲可選語句,條件爲假什麼都不執行的時候能夠將其省略不寫,看下例:input

1 name = input('Please input your name:')    # 輸入你的名字
2 
3 if name == 'MinuteSheep':   # 判斷變量name是否爲MinuteSheep
4     print('Your are MS')    # 條件爲真則執行
5     print('Your are the best man in the world!')  # 條件爲真則執行
6 else:
7     print('Your are not MS')   # 條件爲假則執行
Please input your name:MinuteSheep
Your are MS
Your are the best man in the world!
輸出結果
1 flag = True
2 
3 if flag:    # 判單flag是否爲真,也能夠寫爲 if flag == True:
4     print('flag is True')
5 # 條件爲假時不須要執行任何代碼,則else忽略不寫
flag is True
輸出結果

多條件

有小夥伴確定會問,須要判斷多個條件時豈不是要寫多個 if 語句。其實在Python中,多條件的判斷是有其獨特的語法的,使用 if......elif......elif......else...... 便可,其形式爲:

if 判斷條件1:
    條件爲真代碼塊
elif 判斷條件2:
    條件爲真代碼塊
elif 判斷條件3:
    條件爲真代碼塊
else:
    條件爲假代碼塊

其中,else爲可選語句,條件爲假什麼都不執行的時候能夠將其省略不寫,看下例:

 1 num = 20
 2 
 3 if num > 30:
 4     print('>30')
 5 elif num > 20:
 6     print('>20')
 7 elif num > 10:
 8     print('>10')
 9 else:
10     print('<=10')
>10
輸出結果

條件語句嵌套

條件語句是能夠嵌套的,在實際使用中應該靈活應用:

1 num = 20
2 
3 if num > 10:
4     print('>10')
5     if num > 15:
6         print('>15')
7         if num > 18:
8             print('>18')
>10
>15
>18
輸出結果

三元運算

條件爲真的結果 if 判斷條件 else 條件爲假的結果

舉例就明白了:

1 num = 1 if 1 > 2 else 5
2 '''
3 至關於:
4 if 1 > 2:
5     num = 1
6 else:
7     num = 5
8 '''
9 print(num) # 結果爲 5

簡單語句組

對於小代碼塊能夠寫在一行,更加美觀,例如:

1 num = 100
2 
3 if num == 100: print('Hello,world!')

雖然美觀,但並不推薦你們使用

3、循環語句

循環語句的出現,能夠說是真正的解放人力,計算機的優點很大程度上依賴循環,先來看看循環語句的邏輯結構:

 

從上圖能夠看出,只要循環條件爲真,那麼循環語句就會被執行屢次,Python語言中存在兩種循環,一塊兒來看看吧

for循環

for循環主要起到遍歷元素的做用,第一次接觸可能以爲怪怪的,不要擔憂,用熟了你就會發現for循環很是方便,先來看個例子:

1 for num in range(10):   # 遍歷整數,
2     print(num)
3 
4 for letter in 'MinuteSheep':   # 遍歷字符串
5     print(letter)
6 
7 for element in ['Python', 'C', 'Java']:   # 遍歷列表
8     print(element)
0
1
2
3
4
5
6
7
8
9
M
i
n
u
t
e
S
h
e
e
p
Python
C
Java
輸出結果

從上面代碼能夠看到for循環做爲迭代工具使用至關強大。

for循環能夠和else配合使用,else的代碼塊會在for循環結束後執行,例如:

1 for element in ['Python', 'C', 'Java']:   # 遍歷列表
2     print(element)
3 else:
4     print('Bye~')
Python
C
Java
Bye~
輸出結果

對於上面的代碼,萌新確定還有疑問,爲何是num、letter、element? 關鍵字 in 是什麼?

num、letter、element是本身隨便起的變量名,能夠更改,換成 i、p隨便什麼都行,只要符合變量的命名規則就行,關鍵字 in ,就是在裏面的意思,用代碼解釋更容易理解:

In [1]: 5 in range(10)
Out[1]: True

In [2]: 'MS' in ['MinuteSheep', 'Mike']
Out[2]: False

In [3]: 'MS' in 'MinuteSheep'
Out[3]: False

In [4]: 'Mi' in 'MinuteSheep'
Out[4]: True

經過這段代碼應該就能夠理解了

while循環

while循環是真循環,而不像for循環主要起遍歷做用,其形式爲:

while 循環條件:
    條件爲真代碼塊
else:
    條件爲假代碼塊

其中,else爲可選語句,條件爲假什麼都不執行的時候能夠將其省略不寫,看下例:

1 num = 5
2 
3 while num < 10:
4     print('條件爲真,執行我')
5     num += 1
6 else:
7     print('條件爲假,該執行我了')
條件爲真,執行我
條件爲真,執行我
條件爲真,執行我
條件爲真,執行我
條件爲真,執行我
條件爲假,該執行我了
輸出結果

無限循環:在Python中,使用 while True: 循環內容 便可實現無限循環:

1 num = 0
2 while True:
3     num += 1
4     print(num)

執行後就會發現屏幕上不停的跑數字而不會中止,想要中止按下鍵盤 Ctrl + C 來強制中止。

while循環也有簡單語句組,一樣也不推薦使用

循環語句嵌套

循環語句之間也是能夠嵌套的,兩種循環語句既能夠獨立嵌套,也能夠互相嵌套,看例:

1 # for循環嵌套
2 for i in range(10):
3     for p in range(5):
4         print(p) 
5 
6 # 能夠看到輸出了10次0,1,2,3,4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
輸出結果
  # while循環嵌套
1
num = 5 2 while num < 7: 3 while num < 6: 4 print('hello~~~') 5 num += 1 6 print('hi~~~~') 7 num += 1
hello~~~
hi~~~~
輸出結果
1 # while 和 for 循環嵌套
2 num = 5
3 while num < 8:
4     for i in range(3):
5         print(i)
6     num +=1
7 
8 # 能夠看到輸出了3次0,1,2
0
1
2
0
1
2
0
1
2
輸出結果

以上就是循環的嵌套,在實際運用中應該靈活使用循環的嵌套,每每會帶來事半功倍的效果!

循環控制語句

接下來的三個關鍵字起到循環控制的做用,分別是break,continue,pass

Break

中斷循環,也稱爲跳出循環、結束循環,在循環過程當中,遇到break,就會跳出這個循環,看例:

1 num = 0
2 
3 while True:
4     if num > 3:
5         print('我要跳出循環啦')
6         break
7     print('我正在循環')
8     num += 1
我正在循環
我正在循環
我正在循環
我正在循環
我要跳出循環啦
輸出結果

由上面代碼能夠看到,循環過程當中一但遇到break,就會跳出此循環,即便是無限循環也不頂用

Continue

繼續循環,也成爲跳過本次循環,在循環過程當中,遇到continue,會跳過本次循環,繼續下一次循環,看例:

1 num = 0
2 
3 while num < 5:
4     num += 1
5     if num > 3:
6         print('我要跳過一次循環啦')
7         continue
8     print('我正在循環')
我正在循環
我正在循環
我正在循環
我要跳過一次循環啦
我要跳過一次循環啦
輸出結果

由上面代碼能夠看到,有兩次循環被跳過,只輸出了3次「我正在循環」,也能夠看到continue並不會跳出循環,循環還會繼續執行

空語句 pass

空語句實際上是有語句的,pass表明空語句,程序遇到pass什麼也不會執行,僅僅是路過,有時爲了保持程序的美觀、完整性,一般會用pass佔位,有時沒想好程序怎麼寫,也用pass佔位,什麼都不寫的話程序會報錯,就好像寫做文想好了小標題,卻沒想好內容寫什麼的時候,能夠用pass代替內容,想好後再做修改。

相關文章
相關標籤/搜索