測試題:
0. if not(money < 100): 上邊這行代碼相當於?
答:相當於if (money >= 100):
1. assert的作用是什麼?
答:assert斷言,作用是主動的用於判斷程序裏某個條件是否成立,成立爲真,不成立爲假。當這個關鍵字後面的條件爲假的時候,程序自動崩潰並拋出AssertionError的異常。用於測試程序,如其讓錯誤的條件導致程序今後莫名其妙崩潰,不如在錯誤條件出現的那一瞬間自爆。
2. 假設有x=1,y=2,z=3,請問如何快速將三個變量的值互相交換?
答:使用三元操作符的條件表達式:
z =x if x < y else y
x,y,z= z,y,x
3. 猜猜(x < y and [x] or [y])[0]實現什麼樣的功能?
答:使用and or搭配實現三元操作符的功能,這裏有涉及列表和切片的知識。
4. 你聽說過成員資格運算符嗎?
答:成員運算符:in 和 not in
in:如果x在y中,成立則爲真,表示x是序列y的成員,否則爲false
notin:如果x不在y中,成立則爲真,表示x不是序列y的成員,否則爲false
動動手:
0. 改進查詢成績題目,提高效率:
題目:按照100分制,90分以上成績爲A,80到90爲B,60到80爲C,60以下爲D,寫一個程序,當用戶輸入分數,自動轉換爲ABCD形式打印。
答:
#!/usr/bin/envpython
#__coding:utf-8__
member = int(input("請輸入你的分數:"))
if 80 > member>= 60:
print "C"
elif 90 >member >= 80:
print "B"
elif 100 >member >= 90:
print "A"
elif 60 >member >= 0:
print"D"
else:
print("輸入錯誤!")
1. 請將以下代碼改爲三元操作符實現:
x, y, z = 6, 5, 4
if x < y:
small = x
if z < small:
small = z
elif y < z:
small = y
else:
small = z
答:
x,y,z = 6 , 5 , 4
small = x if x< y else z
if small == x :
small = z if z < x else x
small = y if y< z else z
正確答案:
small = x if (x< y and x < z) else (y if y < z else z)