2020年9月14日星期一

[課後作業] 第007、008講:了不起的分支和循環2 |課後測試題及答案

申明本站飛宇網 https://feiyetopro.blogspot.com/自網路收集整理之書籍文章影音僅供預覽交流學習研究,其[書籍、文章、影音]情節內容, 評論屬其個人行為, 與本網站無關。版權歸原作者和出版社所有,請在下載 24 小時內刪除,不得用作商業用途;如果您喜歡其作品,請支持訂閱購買[正版]謝謝!


[課後作業] 第007、008講:了不起的分支和循環2 |課後測試題及答案




《零基礎入門學習Python》視頻下載地址:傳送門

  
測試題:
   
0. if not (money < 100):上邊這行代碼相當於?
  

1. assert的作用是什麼?
  

2.假設有x = 1,y = 2,z = 3,請問如何快速將三個變量的值互相交換?
  

3.猜猜(x < y and [x] or [y])[0]實現什麼樣的功能?
  

4.你聽說過成員資格運算符嗎?
  

  
動動手:
  
0.視頻中小甲魚使用if-elif-else在大多數情況下效率要比全部使用if要高,但根據一般的統計規律,一個班的成績一般服從正態分佈,也就是說平均成績一般集中在70~80分之間,因此根據統計規律,我們還可以改進下程序以提高效率。
  

題目備忘:按照100 分制,90 分以上成績為A,80 到90 為B,60 到80 為C,60 以下為D,寫一個程序,當用戶輸入分數,自動轉換為ABCD 的形式打印。


1. Python的作者在很長一段時間不肯加入三元操作符就是怕跟C語言一樣搞出國際亂碼大賽,蛋疼的複雜度讓初學者望而生畏,不過,如果你一旦搞清楚了三元操作符的使用技巧,或許一些比較複雜的問題反而迎刃而解。

請將以下代碼修改為三元操作符實現:
  1. x, y, z = 6, 5, 4
  2. if x < y:
  3.     small = x
  4.     if z < small:
  5.         small = z
  6. elif y < z:
  7.     small = y
  8. else:
  9.     small = z
複製代碼


2.請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!
  
  
回复您的答案即可查看參考答案!
  
  
測試題答案:
  

本帖隱藏的內容

0. if not (money < 100): 這行代碼相當於

if money >= 100:


1. assert的作用是什麼?

assert這個關鍵字我們稱之為“斷言”,當這個關鍵字後邊的條件為假的時候,程序自動崩潰並拋出AssertionError的異常。
什麼情況下我們會需要這樣的代碼呢?當我們在測試程序的時候就很好用,因為與其讓錯誤的條件導致程序今後莫名其妙地崩潰,不如在錯誤條件出現的那一瞬間我們實現“自爆”。
一般來說我們可以用Ta再程序中置入檢查點,當需要確保程序中的某個條件一定為真才能讓程序正常工作的話,assert關鍵字就非常有用了。


2.假設有x = 1,y = 2,z = 3,請問如何快速將三個變量的值互相交換?

x, y, z = z, y, x


3.猜猜(x < y and [x] or [y])[0]實現什麼樣的功能?

這其實是Python的作者還沒有為Python加入三元操作符之前,Python社區的小伙伴們靈活的使用and和or搭配來實現三元操作符的功能,這裡邊有涉及到列表和切片的知識,這部分知識很快就會講解,迫不及待的朋友可以先稍微預習下。


4.你聽說過成員資格運算符嗎?

Python有一個成員資格運算符:in,用於檢查一個值是否在序列中,如果在序列中返回True,否則返回False。

例如:
  1. >>> name = '小甲魚'
  2. >>> '魚' in name
  3. True
  4. >>> '肥魚' in name
  5. False
複製代碼
當下節課我們講解for 語句的時候,你看到in 會不會就有了更深入的理解?


  
  
動動手答案:
  

本帖隱藏的內容

0. 視頻中小甲魚使用if elif else 在大多數情況下效率要比全部使用if 要高,但根據一般的統計規律,一個班的成績一般服從正態分佈,也就是說平均成績一般集中在70~ 80 分之間,因此根據統計規律,我們還可以改進下程序以提高效率。
  1. score = int(input('請輸入一個分數:'))
  2. if 80 > score >= 60:
  3.     print('C')
  4. elif 90 > score >= 80:
  5.     print('B')
  6. elif 60 > score >= 0:
  7.     print('D')
  8. elif 100 >= score >= 90:
  9.     print('A')
  10. else:
  11.     print('輸入錯誤!')
複製代碼


1. Python 的作者在很長一段時間不肯加入三元操作符就是怕跟C語言一樣搞出國際亂碼大賽,蛋疼的複雜度讓初學者望而生畏,不過,如果你一旦搞清楚了三元操作符的使用技巧,或許一些比較複雜的問題反而迎刃而解。

  1. small = x if (x < y and x < z) else (y if y < z else z)
複製代碼


2.請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式!


小甲魚希望你認真對待作業就像你希望小甲魚推出高質量視頻一樣渴望^_^

(1)打飛機小遊戲的設計框架

加載背景音樂
播放背景音樂(設置單曲循環)
我方飛機誕生
interval = 0
while True:
    if用戶是否點擊了關閉按鈕:
        退出程序
   
    interval += 1
    if interval == 50:
        interval = 0
        小飛機誕生
    小飛機移動一個位置
    屏幕刷新
   
    if用戶鼠標產生移動:
        我方飛機中心位置=用戶鼠標位置
        屏幕刷新
       
    if我方飛機與小飛機發生肢體衝突:
        我方掛,播放撞機音樂
        修改我方飛機圖案
        打印“ Game over”
        停止背景音樂,最好淡出
(2)條件表達式(三元操作符)
有了這個三元操作符的條件表達式,你可以使用一條語句來完成以下的條件判斷和賦值操作:
  1. x, y = 4, 5
  2. if x < y:
  3. small = x
  4. else:
  5. small = y
例子可以改進為:
small = x if x < y else y
(3)斷言(assert)
assert這個關鍵字我們稱之為“斷言”,當這個關鍵字後邊的條件為假時,程序自動崩潰並拋出AssertionError的異常。當這個關鍵字後邊的條件為真時,程序無影響。
舉個例子:
>>> assert 3 > 4
一般來說我們可以用Ta在程序中置入檢查點,當需要確保程序中的某個條件一定為真才能讓程序正常工作的話,assert關鍵字就非常有用了。

0 留言:

發佈留言