本文利用的是Python 3.x版本,建議學習3.x版本
如下是數之間常見的比較操做,例如5>3
就是數學意義上的比較,5
是大於3
的,因此這個式子的值是True
。如何比較,根據兩個數之間的符號判斷便可。這裏要注意的是!=
是不相等的意思,==
是相等的意思。例如5==3
這顯然是不對的,因此式子的值是False
編輯器
# i j是變量名 i > j i >= j i < j i <= j i == j i != j
not a #若是a是True則 結果爲False,反之同理 a and b #同時爲True時,結果爲True a or b #至少一個爲True,結果爲True
在布爾值之間進行運算,以前說數據類型的時候也說過。咱們說了例如5>3
這樣的比較的式子的值是布爾值,也就是說能夠將式子進行邏輯運算。例如函數
5>3 and 5==3 #至關於True and False結果是False
下面是測試結果oop
計算機能夠進行自動化操做,由於能夠按照咱們給定的條件判斷執行,因此分支判斷是必不可少的。簡單來講就是,若是條件A成立,那麼作些什麼,不成立作些什麼,例如若是今天下雨,我就不出門。學習
最簡單的條件判斷語句以下,有幾個地方容易出錯,條件後要用冒號,if
條件塊裏的代碼要進行縮進,4
個空格,若是瞭解其餘語言的同窗應該知道,不少語言的代碼塊是靠大括號{}
來標識的。爲何要有代碼塊?代碼塊內的代碼的層次是同樣的。舉個例子,若是不區分代碼塊,那麼若是if
判斷條件成立後,代碼究竟要執行到哪裏?因此當條件成立時,執行這個if
後的代碼塊內的內容。必定要注意縮進,否則在py
中會出錯的。固然如今的代碼編輯器多數都很智能,在寫完冒號後敲擊回車,就能夠自動縮進4
個空格,我用的VScode
就是這樣的,很方便。測試
#若是<條件>爲True,則執行if塊 #裏的操做,注意縮進和冒號!! if <條件>: 操做1 操做2 …… #實例 x = 6 if x>3 and x<8: print("hello") #結果會打印出hello
接下來稍微複雜,就是if else
,意思是若是if
判斷的條件成立(結果爲True
),則執行if
代碼塊內的代碼,若是不成立則執行else
代碼塊內的代碼。簡單來講就是若是條件成立,則執行if
代碼塊內的代碼,不然執行else
內的代碼。else
和if
同樣也要加冒號以及代碼塊的縮進。spa
#先執行if的<條件>查看是否爲True, #若是爲True則進入if塊,不會進入 #else,若是爲False則進入else,不進入if if <條件>: 操做1 操做2 …… else: 操做1 操做2 …… #實例 x = 6 if x > 7: print(1) else: print(2) #結果會打印出2
接下來是多條件判斷,以上的判斷都是單條件,非此即彼的判斷。多條件判斷能夠用多個條件來判斷,先查看條件1
是否成立,若是成立則進入代碼塊執行,若是條件1
不成立,繼續看條件2
是否成立……多條件用elif
也要加冒號以及代碼塊縮進。code
# 多重條件,先看是否能進if, # 若是沒進則繼續判斷是否能進elif…… # 若是都沒進,且有else的話,進入else if <條件1>: 操做1 操做2 …… elif<條件2>:# elif能夠有多個 操做1 操做2 …… else:# else能夠沒有 表達式 表達式 …… #實例 x = 6 if x > 10: print(1) elif x > 7 and x < 9: print(2) elif x > 4 and x < 7: print(3) else: print(4) #結果會打印出3
這裏再說一下多重條件和多個if
的區別,在多重條件中,一旦某一條件成立,那麼以後的代碼就不會執行了,就不會再去判斷以後的條件了。blog
if <條件1>:#每一個條件都要判斷 操做 if <條件2>:#每一個條件都要判斷 操做 if <條件3>:#每一個條件都要判斷 操做 if <條件1>:#若是條件1成立,再也不判斷後面的條件 操做 elif <條件2>: 操做 elif <條件3>: 操做
嵌套條件判斷,不建議過深的嵌套圖片
if <條件1>: if <條件2>: 操做 else: 操做 else: 操做
練習一下,要求用戶從控制檯輸入兩個float數(x,y),要給出提示(例如:請輸入數x),判斷x y的大小,若是相等則輸出相等。若是x大則輸出x大,若是x小則輸出x小。若是x大於y時,若是y不等於0,則輸出x/y的數值。input
x = float(input("請輸入數x:")) y = float(input("請輸入數y:")) if abs(x-y)<1.0e-9: print("x,y相等") elif x > y: print("x大於y") if abs(y)>1.0e-9: print("x/y=",x/y) else: print("x小於y")
解釋一下abs(x-y)<1.0e-9
,abs
是求絕對值函數,當x
和y
的差值小於1^(-9)
時,就認爲x
和y
是相等的,這是由於浮點數的表示是有偏差的,用==
來比較很危險,因此只要在咱們須要的精度內相等便可。
當咱們須要執行大量類似的操做時,這時循環就派上用場了,首先說一下while
循環。
while <條件>:#注意冒號和4個空格的縮進 操做 ……
若是<條件>
爲True
,則執行while
塊裏的全部操做,而後繼續檢查<條件>
是否爲True
,一直重複塊裏的表達式,直到<條件>
爲False
,以下例子
n = 0 while n < 5: print(n) n = n + 1
for
循環,相對於while
更加肯定執行的次數,while
根據條件來肯定是否執行,而for
一般是給定了執行的次數。
for <變量> in range(<一些數字>): <表達式>#注意冒號和4個空格的縮進 …… #實例 for v in range(6): print(v) #結果會打印0-5 sum = 0 for i in range(101): sum = sum + i #求0-100的和
至關於每次把值賦予給變量
,而後在代碼塊內部可使用這個變量
,
默認的參數是start=0
,表明從哪一個數開始,step=1
,表明步長,意味着每次增長多少,數的範圍是0~stop-1
mysum = 0 for i in range(7,10): mysum += i print(mysum) #求7 8 9的和
mysum = 0 for i in range(5,11,2): mysum += i print(mysum) #求5 7 9的和
break
表示當即退出循環,跳過剩下在塊裏的表達式,僅僅退出最裏層的循環!簡單來講就是給一個條件,當這個條件成立時,退出循環,常常和if
搭配使用。
mysum = 0 for i in range(5,11,2): mysum += i #當mysum等於5的時候,退出循環 if mysum == 5: break musum += 1 print(mysum)
for
break
提早結束循環變量
能夠幫助計數while
循環來重寫for
循環while
break
提早結束循環for
循環重寫while
到此爲止有了判斷、循環、輸入、輸出後,就能夠寫一些簡單的程序了
若是以爲不錯,能夠分享~,能夠關注公衆號~