[課后作業] 第006講:Pyhon之常用操作符 | 課后測試題的答案


0. Python 的 floor 除法現在使用 “//” 實現,那 3.0 // 2.0 您目測會顯示什么內容呢?

如果回答是 1.5 那么很遺憾,您受到 C 語言的影響比較大,Python 這里會義無反顧地執行 floor 除法原則,答案是:1.0


1. a < b < c 事實上是等於?

(a < b) and (b < c)


2. 不使用 IDLE,你可以輕松說出 5 ** -2 的值嗎?

0.04,也就是 1/25

冪運算操作符比其左側的一元操作符優先級高,比其右側的一元操作符優先級低。


3. 如何簡單判斷一個數是奇數還是偶數?

使用求余可以簡單得到答案:能被 2 整除為偶數,所以 x % 2 == 0,否則為奇數。


4. 請用最快速度說出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9

如果你的回答是 0,那么小甲魚很開心你中招了!
答案是:4

not or and 的優先級是不同的:not > and > or

我們按照優先級給它們加上括號:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4

為啥是 4?

大家還記得第四講作業提到的“短路邏輯”嗎?3 and 4 == 4,而 3 or 4 == 3。
所以答案是:4

溫馨提示:為了更好的表達你的程序,小甲魚再次呼吁有些括號還是不能省下的,畢竟不是所有程序員都跟你一樣都將優先級爛透於心的。


5. 還記得我們上節課那個求閏年的作業嗎?如果還沒有學到“求余”操作,還記得用什么方法可以“委曲求全”代替“%”的功能呢?

因為上節課我們還沒有教大家“求余”的操作,所以小甲魚使用了“if year/400 == int(year/400)”這樣的方式來“委曲求全”。



動動手答案:

本帖隱藏的內容

0. 請寫一個程序打印出 0~100 所有的奇數。
  1. i = 0
  2. while i <= 100:
  3.     if i % 2 != 0:
  4.         print(i, end=' ')
  5.         i += 1
  6.     else:
  7.         i += 1
復制代碼


1. 我們說過現在的 Python 可以計算很大很大的數據,但是......真正的大數據計算可是要靠剛剛的硬件滴,不妨寫一個小代碼,讓你的計算機為之崩潰?


  1. print(2 ** 2 ** 32)

  2. # 一般很多機子都會在一會兒之后:Memory Overflow,內存不夠用。
  3. # 設計到冪操作,結果都是驚人滴。
復制代碼

那我再考考你



你猜猜為何 print( (2 ** 2) ** 32) 就可以計算出結果呢?


2. 題目:請編程求解該階梯至少有多少階?

  1. x = 7
  2. i = 1
  3. flag = 0

  4. while i <= 100:
  5.     if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
  6.         flag = 1
  7.     else:
  8.         x = 7 * (i+1) # 根據題意,x一定是7的整數倍,所以每次乘以7
  9.     i += 1

  10. if flag == 1:
  11.     print('階梯數是:', x)
  12. else:
  13.     print('在程序限定的范圍內找不到答案!')
復制代碼



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


免責聲明!

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



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