學習筆記-小甲魚Python3學習第八講:了不起的分支和循環2
使用if 條件:...elif 條件:...else...循環
fenshu0 = input('請輸入你的分數:')
fenshu = int(fenshu0)
if (fenshu > 90) and (fenshu <= 100):
print('你的分數在A檔.')
elif (fenshu > 80) and (fenshu <= 90):
print('你的分數在B檔.')
elif (fenshu > 60) and (fenshu <= 80):
print('你的分數在C檔,.')
elif (fenshu >= 0) and (fenshu <=60):
print('你的分數在D檔.')
else:
print('錯誤的輸入!')
python可以有效避免“懸掛else”,代碼縮進按嚴格標準處理
條件表達式(三元操作符),語法:x if 條件 else y
例:
x,y = 4,5
if x< y:
small = x
else:
small = y
可改進為:
x,y = 4,5
small = x if x < y else y
斷言(assert)
當assert這個關鍵字後面的條件為假的時候,程序自動崩潰並拋出AssertionError的一場。當需要確保程序中的某個條件一定為真才能讓程序正常工作的時候,可以在條件中置入assert檢查點。
舉例:
>>> assert 3 > 4
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
assert 3 > 4
AssertionError
---------------分隔符,哈哈哈----------------------
二、課後作業:
0.if not (money<100):這行代碼相當於?
if money >= 100:
1.assert的作用是什麽?
assert稱為斷言,可以判斷一條語句是否成立,如果出錯會報AssertionError的錯誤。當需要確保一個程序中的條件能夠正確運行時,可以在條件中插入一個檢查點。如果報錯說明此條件有問題
2.假設x=1,y=2,z=3,請問如何快速將三個變量的值互相交換?
x,y,z = z,x,y
3.猜猜(x<y and [x] or [y])[0]實現什麽樣的功能?
沒整明白,後續學習
4.你聽說過成員資格運算符嗎?
python有一個成員資格運算符:in。用於檢查一個值是否在序列中,如果在序列中返回true,否則返回false。
---------------分隔符,哈哈哈-------------------
三、動動手:
0.視頻中小甲魚使用 if elif else 在大多數情況下效率要比全部使用 if 要高,但根據一般的統計規律,一個班的成績一般服從正態分布,也就是說平均成績一般集中在 70~80 分之間,因此根據統計規律,我們還可以改進下程序以提高效率。
score = int(input('請輸入一個分數:'))
if 90 < score <= 100:
print('A')
elif 80 < score <= 90:
print('B')
elif 60 < score <= 80:
print('C')
elif 0 <= score <= 60:
print('D')
else:
print('錯誤的輸入!')
1.Python 的作者在很長一段時間不肯加入三元操作符就是怕跟C語言一樣搞出國際亂碼大賽,蛋疼的復雜度讓初學者望而生畏,不過,如果你一旦搞清楚了三元操作符的使用技巧,或許一些比較復雜的問題反而迎刃而解。
請將以下代碼修改為三元操作符實現:
x,y,z=6,5,4
if x<y:
small = x
if z<small:
small = z
elif y<z:
small = y
else:
small = z
改為:
small = x if ( x < y and x < z) else ( y if y < z else z)
學習筆記-小甲魚Python3學習第八講:了不起的分支和循環2