[課后作業] 第007、008講:了不起的分支和循環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. 請寫下這一節課你學習到的內容:格式不限,回憶並復述是加強記憶的好方式!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM