[課后作業] 第005講:閑聊之Python的數據類型 | 課后測試題的答案


0. 在 Python 中,int 表示整型,那你還記得 bool、float 和 str 分別表示什么嗎?

bool 表示布爾類型
float 表示浮點型
str 表示字符串


1. 你知道為什么布爾類型(bool)的 True 和 False 分別用 1 和 0 來代替嗎?

你可能聽說過計算機是很“笨”的,究其根本是因為它只認識二進制數,所以所有的編程語言最終都會轉換成簡單的二進制序列給 CPU 按照一定的規則解析。
由於二進制只有兩個數:0 和 1,因此用 0 和 1 來表示 False 和 True 再適合不過了,因為不用浪費資源在轉換的過程上!


2. 使用 int() 將小數轉換為整數,結果是向上取整還是向下取整呢?

我們可愛的小甲魚說了,小數取整會采用比較暴力的截斷方式,即向下取整。(注:5.5 向上取整為 6,向下取整為 5)

但那是對於正數來說……對於負數則剛好相反 —— 是向上取整。


3. 我們人類思維是習慣於“四舍五入”法,你有什么辦法使得 int() 按照“四舍五入”的方式取整嗎?

int() 固然沒那么“聰明”,但機器是死的,魚油是活的!
5.4 “四舍五入”結果為:5,int(5.4+0.5) == 5
5.6 “四舍五入”結果為:6,int(5.6+0.5) == 6
大家看明白了嗎?


4. 取得一個變量的類型,視頻中介紹可以使用 type() 和 isinstance(),你更傾向於使用哪個?

建議使用 isinstance(),因為它的返回結果比較直接,另外 type() 其實並沒有你想象的那么簡單,我們后邊會講到。


5. Python3 可以給變量命名中文名,知道為什么嗎?

Pyhton3 源碼文件默認使用utf-8編碼(支持中文),這就使得以下代碼是合法的:
>>> 小甲魚 = '我愛你'  
>>> print(小甲魚)
>>> 我愛你


6. 【該題針對零基礎的魚油】你覺得這個系列教學有難度嗎?

如果有不懂的問題,請在此處提問:http://bbs.fishc.com/forum-173-1.html

另外需要小甲魚在視頻講解的方面做哪方面改進請回帖告之!


動動手答案:

本帖隱藏的內容

0. 針對視頻中小甲魚提到的小漏洞,再次改進我們的小游戲:當用戶輸入錯誤類型的時候,及時提醒用戶重新輸入,防止程序崩潰。

需要注意的地方在代碼中已經注釋!
  1. import random

  2. times = 3
  3. secret = random.randint(1,10)

  4. print('------------------我愛魚C工作室------------------')
  5. guess = 0
  6. print("不妨猜一下小甲魚現在心里想的是哪個數字:", end=" ")

  7. while (guess != secret) and (times > 0):
  8.     temp = input()
  9.    
  10.     if temp.isdigit():
  11.         guess = int(temp)
  12.         if guess == secret:
  13.             print("我草,你是小甲魚心里的蛔蟲嗎?!")
  14.             print("哼,猜中了也沒有獎勵!")
  15.         else:
  16.             if guess > secret:
  17.                 print("哥,大了大了~~~")
  18.             else:
  19.                 print("嘿,小了,小了~~~")
  20.             if times > 1:
  21.                 print("再試一次吧:", end='')
  22.             else:
  23.                 print("機會用光咯T_T")
  24.     else:
  25.         print("抱歉,您的輸入有誤,請輸入一個整數:", end='')

  26.     times = times - 1 # 用戶每輸入一次,可用機會就-1

  27. print("游戲結束,不玩啦^_^")
復制代碼


1. 寫一個程序,判斷給定年份是否為閏年。
  1. temp = input('請輸入一個年份:')
  2. while not temp.isdigit():
  3.     temp = input("抱歉,您的輸入有誤,請輸入一個整數:")

  4. year = int(temp)
  5. if year/400 == int(year/400):
  6.     print(temp + ' 是閏年!')
  7. else:
  8.     if (year/4 == int(year/4)) and (year/100 != int(year/100)):
  9.         print(temp + ' 是閏年!')
  10.     else:
  11.         print(temp + ' 不是閏年!')
復制代碼


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


免責聲明!

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



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