運算符、單雙分支&多分支、while循環
一 、運算符:
1. 算術運算符:
“ + ”、“ - ” 、“ * ” 、“ / ” 分別為加、減、乘、除。
% 是“取模運算符”,就是返回除法的余數。eg. a = 3, b=5, b % a 就是b/a的余數2。 常見用處:判斷奇偶性及跟奇偶性有關的需求。
** 是“冪運算符”。eg. a**b為a的b次方。
// 是“取整除”, 就是返回商的整數部分。eg. 9//2輸出結果為4。
2. 比較運算符:
== 是“等於”;
!= 是“不等於”;
<> 是“不等於” (Python2 語法,Python3不能用);
> 是“大於”;
< 是“小於”;
>= 是“大於等於”;
<= 是“小於等於”;
3. 賦值運算符:
= 是簡單的賦值運算符;
+= 是加法賦值運算符。c += a 等效於 c = c+a;
-= 是減法賦值運算符。c -= a等效於 c = c - a;
*= 是乘法賦值運算符。c *= a 等效於 c = c * a;
/= 是除法賦值運算符。c /= a 等效於 c = c/a;
%= 是取模賦值運算符。c %= a 等效於 c = c % a;
**= 是冪賦值運算符。c **= a 等效於 c = c ** a;
//= 是取整除賦值運算符。c //= a等效於 c = c // a 。
4. 邏輯運算符:
and 布爾“與”; (用途:用戶登錄時需要 用戶名正確 and 密碼正確)
or 布爾“或”;
not 布爾“非”。
二、控制流程
1. 單分支:
定義:
if 條件:
滿足條件後要執行的代碼
2.雙分支:
定義:
if 條件 :
滿足條件執行代碼
else :
if條件不滿足就走這段
(1). if_else用戶名、密碼登錄代碼及運行:
這段代碼用到的知識點:if...else語法、邏輯運算符“and”。
(2). if...else程序練習: 輸入姓名、性別、年齡,判斷如果是女生且年齡小於28歲,打印我喜歡女生,否則,打印姐弟戀也很好哦。如果是男生,打印一起來搞基。
源代碼如下:
這段代碼中用到的知識點:1. if...else中又嵌套了一個if...else語句,2. 因為 變量age要跟28這個數字做大小比較,字符串(str)和數字(int)不能比較大小,所以需要把input( ‘ Age:‘) 這個字符串用int()處理變成數字。
3. 多分支:
定義:
if條件 :
滿足條件執行代碼
elif條件 :
上面的條件不滿足就走這個
elif條件 :
上面的條件不滿足就走這個
elif條件 :
上面的條件不滿足就走這個
else:
上面所有的條件不滿足就走這段
匹配成績小程序:
要求:成績有ABCDE 5個等級,對應關系如下
A 90~100
B 80 ~ 89
C 60~79
D 40~60
E 0~40
根據輸入的分數來查詢成績等級。
下圖是別人寫的的比較正確規範的代碼:
下圖是我當時自己寫的代碼:
對比我寫的 “ elif 80 <=grade <90 : ” 和別人寫的 “ elif grade >= 90 : ” ,發現我一個認識不足的地方,這個不足也反映了我對elif語句的理解不透徹。 我不應該再去強調 “ grade < 90 ”,因為elif 的定義就是 “如果上面的條件不成立,就走elif”,程序既然能走到 “ 80 <= grade < 90 ”這一步,輸入的分數肯定不能滿足“ grade >= 90 ”,要不然程序不會走到這一步。
四、while循環
語法:
while 條件:
執行代碼...
基礎程序: 寫個程序從0打印到100,每循環一次+1。
程序練習1: 編寫一個程序打印1到100的偶數。
下圖是我當時寫的錯誤代碼:
執行結果:
我的錯誤之處:我寫的while語句意思是“count小於等於100,且count對2取模為0”,下面的程序才會執行,count第一個數是1, 滿足小於等於100這個條件,但卻不滿足對2取模為0這個條件,所以後面的代碼就直接不執行了。
正確代碼:
關於這段代碼有一點需要註意,如下圖
程序練習2: 循環打印1到100,第50次不打印值,第60-80次,打印對應值的平方。
我當時寫的代碼:
別人寫的更簡潔的代碼:
我的代碼和別人簡潔代碼產生出入的原因: 1. pass這個功能以前不會用,pass的作用就是什麽都不執行; 2. 寫作時的思路不同: 我的代碼是先寫“大眾化的需求”,例如先寫了count 位於1~60和 位於 80~100時的代碼,後來在這兩行代碼中間加上了60~80這個“小眾化的要求”, 最後在while語句的最前部分加上了“排除50”這個“最小化的要求”;但別人的寫作思路是最先把50這個“最小眾化的要求”寫出來,然後再寫60~80這個“小眾化的需求”, 最後再寫其他所有的、也是“最大眾化的需求”。
還有一個猜年齡3次的程序,我第一次寫的時候忘記把 guess_age = int( input(‘ your guess:‘) ) 這句代碼寫到while語句裏面。因為需要輸入3次。 如下圖
運算符、單雙分支&多分支、while循環