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. 針對視頻中小甲魚提到的小漏洞,再次改進我們的小游戲:當用戶輸入錯誤類型的時候,及時提醒用戶重新輸入,防止程序崩潰。需要注意的地方在代碼中已經注釋!
- import random
- times = 3
- secret = random.randint(1,10)
- print('------------------我愛魚C工作室------------------')
- guess = 0
- print("不妨猜一下小甲魚現在心里想的是哪個數字:", end=" ")
- while (guess != secret) and (times > 0):
- temp = input()
-
- if temp.isdigit():
- guess = int(temp)
- if guess == secret:
- print("我草,你是小甲魚心里的蛔蟲嗎?!")
- print("哼,猜中了也沒有獎勵!")
- else:
- if guess > secret:
- print("哥,大了大了~~~")
- else:
- print("嘿,小了,小了~~~")
- if times > 1:
- print("再試一次吧:", end='')
- else:
- print("機會用光咯T_T")
- else:
- print("抱歉,您的輸入有誤,請輸入一個整數:", end='')
- times = times - 1 # 用戶每輸入一次,可用機會就-1
- print("游戲結束,不玩啦^_^")
1. 寫一個程序,判斷給定年份是否為閏年。
- temp = input('請輸入一個年份:')
- while not temp.isdigit():
- temp = input("抱歉,您的輸入有誤,請輸入一個整數:")
- year = int(temp)
- if year/400 == int(year/400):
- print(temp + ' 是閏年!')
- else:
- if (year/4 == int(year/4)) and (year/100 != int(year/100)):
- print(temp + ' 是閏年!')
- else:
- print(temp + ' 不是閏年!')
2. 請寫下這一節課你學習到的內容:格式不限,回憶並復述是加強記憶的好方式!