Python小白學習之路—while、for迴圈、運算
Python裡面的迴圈跟其他語言裡的迴圈基本一致,只是書寫格式不同。
1.for迴圈: for [迴圈條件]:[迴圈語句] 滿足迴圈條件,則執行迴圈語句,執行一次判斷一次,不滿足則結束迴圈。
簡單的迴圈: in range() 表示在什麼範圍裡
1 # 迴圈 自動累計加一 2 # 一個引數代表從0開始到多少 3 for i in range(10): 4 print("One:",i) 5 # 兩個引數代表範圍 6 for i in range(0,5): 7 print("Two:",i) 8 # 三個引數代表範圍以及隔幾次迴圈執行語句一次 9 for i in range(0,10,2):#2表示隔幾個輸出一次 10 print("Thress",i)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
0 |
2.while循語句: while [True/False]: 迴圈語句 條件為真則執行迴圈語句,為假則不進入迴圈。
1 names = "Sunshine" 2 # 如果條件返回值為真(True)則執行迴圈語句 3 while names == 'Sunshine': 4 print("條件為真,名字是Sunshine。") 5 # 執行完語句後退出迴圈 6 break 7 8 while names == 'Others': 9 print("條件為真,名字是Others。") 10 # 執行完語句後退出迴圈 11 break
1 2 3 4 |
|
如果不加break的話,因為迴圈條件一直為真,則會一直迴圈,執行輸出語句。(一般Python有限制,好像最多隻能執行998次)。
break的作用是終斷迴圈,也就是退出整個迴圈,要注意的時,如果有多個迴圈巢狀的話,break只能退出當前所在的迴圈。如果講話上面的break替換成continuou的話,還是會一直執行迴圈語句,continuou的作用是結束本次迴圈,開始下次迴圈,當前迴圈下continuou後面的語句不會執行。
Ex:學完迴圈語句和if條件語句後,可以用來寫一個猜年齡的小程式,要求如下:
(1)猜測年齡,猜的年齡大了,就提示bigger
(2)猜測年齡,猜的年齡小了,就提示smaller
(3)猜對了,輸出年齡,並祝賀
View Code
結果:
1 2 3 4 5 6 7 8 9 |
|
什麼是運算? 運算,數學上,運算是一種行為,通過已知量的可能的組合,獲得新的量。運算的本質是集合之間的對映 1.邏輯運算(返回值為布林值型別) 假設:a,b,c = 3,5,7 1.and Ex: a > 2 and c < 7 -->flase 2.or Ex: a > 2 or c = 8 -->true 3.not Ex: if not a > 2 and c < 7:print("ddd") 輸出結果:ddd
1 # 邏輯運算 2 a,b,c = 3,5,7 3 # and運算 兩個條件都滿足才為真 4 print("and:",a > 2 and c < 7) 5 # or運算 滿足其中任意一個條件即為真 6 print("or:",a > 2 or c == 2) 7 # not運算 如果不是a<2 並且c>5,則不執行 8 if not a < 2 and c > 5: 9 print("執行成功")
結果:
1 2 3 4 5 6 |
|
2.成員運算(返回值為布林值型別) (1)in 運算 判斷在不在裡面 現在有列表 a[1,2,3,4] in: 1 in a 表示:1是列表a裡面的一員。結果:True not: 5 not in a 表示:5不是列表a裡面的一員。 結果:False
1 # 建立一個列表 2 a = [1,2,3,4] 3 # in 運算 4 print("In運算,1是a的一員:",1 in a) 5 # not 運算 6 print("Not運算,5不是a的一員:",4 not in a)
結果:
1 2 3 4 5 |
|
(2)is 運算 判斷是不是什麼的一員 a[1,2,3,4] names = 'hello world!" is type(a) is list 表示:a的型別是一個列表-->true is not type(names) is not str 表示:names的型別不是一個字串型別-->false
1 # 建立一個列表和字串 2 a = [1,2,3,4] 3 names = "hello world!" 4 # is 運算 5 print("is運算,a的型別是一個列表:",type(a) is list) 6 # is not 運算 7 print("is運算,names不是字串型別:",type(names) is not str)
結果:
1 2 3 4 5 |
|
3.位運算(轉換成二進位制後的運算) 現在有a,b,c三個值分別為60,13,0 a = 60 (00111100), b = 13 (00001101), c = 0 (00000000) 進行如下運算: (1)& 與運算 a & b =00001100-->12(00001010) (同為1,則為真1) (2)| 或運算 a | b =00111101-->61(00111101)(有一個為1,則為1) (3)^ 異運算 a ^ b =00110001-->49(0011001)(相同為0,不同為1) (4)~ 取反運算 ~ a =1 11000011-->-195(最前面的為符號位,也會取反) (5)<< 左移運算 64 << 2 =256 64(00100000)左移2位後:256(10000000) (6)>> 右移運算 64 >> 2 =16 64(00100000)右移2位後:16(000001000)
1 a = 60 2 b = 13 3 c = 0 4 print("&運算:",a & b ) 5 print("|運算:",a | b) 6 print("^運算:",a ^ b) 7 print("~運算:",~a) 8 print(">>運算:",64 >> 2) 9 print("<<運算:",64 << 2)
結果:
1 2 3 4 5 6 7 8 9 |
|
計算機中能表示的最小單位,是一個二進位制位(bit) 計算機中能儲存的最小單位,是一個二進位制位(bit) 8 bit(位元) = 1 byte(位元組) 計算機i中的字元最少要用一位元組來表示 1024byte = 1kbyte 1024kbyte = 1mbyte 1024mbyte = 1gbyte 1024gb = 1Tb
三元運算:
三元運算子是軟體程式設計中的一個固定格式,語法是“條件表示式?表示式1:表示式2”。使用這個演算法可以使呼叫資料時逐級篩選。(百度百科參考)
1.語法:條件表示式?表示式1:表示式2
說明:問號前面的位置是判斷的條件,判斷結果為bool型,為true時呼叫表示式1,為false時呼叫表示式2。
其邏輯為:“如果為條件成立或者滿足則執行表示式1,否則執行第二個。”
2.也可以用if...else...
a,b,c=1,3,5
d = a if a>b else c (如果a>b則d=a,否則d=c) -->d=5