?此日記只為了方便自己復盤,如有涉及版權問題,歸小甲魚官方所有。
測試題:
0. 在 Python 中,int 表示整型,那你還記得 bool、float 和 str 分別表示什么嗎?
1. 你知道為什么布爾類型(bool)的 True 和 False 分別用 1 和 0 來代替嗎?
2. 使用 int() 將小數(shù)轉換為整數(shù),結果是向上取整還是向下取整呢?
3. 我們?nèi)祟愃季S是習慣于“四舍五入”法,你有什么辦法使得 int() 按照“四舍五入”的方式取整嗎?
4. 取得一個變量的類型,視頻中介紹可以使用 type() 和 isinstance(),你更傾向于使用哪個?
5. Python3 可以給變量命名中文名,知道為什么嗎?
答0:bool表示布爾值類型,float表示浮點型,str表示字符串。
答1:計算機只認識二進制數(shù),所以所有的編程語言最終都會轉換成簡單的二進制序列給 CPU 按照一定的規(guī)則解析。由于二進制只有兩個數(shù):0 和 1,因此用 0 和 1 來表示 False 和 True 再適合不過了,因為不用浪費資源在轉換的過程上!
答2:正數(shù)向下,負數(shù)向上取整。
答3:
1.4 “四舍五入”結果為:1,int(1.4+0.5) == 1?
4.6 “四舍五入”結果為:4,int(4.6+0.5) == 5
答4:我更喜歡type(),因為用起來簡單明了。
答5:Python3 源碼文件默認使用 UTF-8編碼(支持中文),因此中文代碼是合法的。
動動手:?
0. 針對視頻中小甲魚提到的小漏洞,再次改進我們的小游戲:當用戶輸入錯誤類型的時候,及時提醒用戶重新輸入,防止程序崩潰。?
備注:
s.isalnum() 所有字符都是數(shù)字或者字母,返回 True,否則返回 False
s.isalpha() 所有字符都是字母,為真返回True,否則返回 False
s.isdigit() 所有字符都是數(shù)字,為真返回True,否則返回 False
s.islower() 所有字符都是小寫,為真返回True,否則返回 False
s.isupper() 所有字符都是大寫,為真返回True,否則返回 False
s.istitle()所有單詞都是首字母大寫,為真返回True,否則返回 False
s.isspace()所有字符都是空白字符,為真返回True,否則返回 False
1.寫一個程序,判斷給定年份是否為閏年
答0:
print('猜數(shù)字')
import random
num = random.randint(1,10)
times = 3
guess = 0
while (guess != num) and (times > 0):
? ? print('請輸入一個整數(shù): ',end = '')#為什么顯示錯誤沒有關鍵參數(shù)
? ? temp = input()
? ? while not temp.isdigit():
? ? ? ? temp = input('sorry!輸入類型錯誤,請輸入一個整數(shù): ')
? ? guess = int(temp)
? ? times -= 1
? ? if guess == num:
? ? ? ? print('太厲害了!你是我肚子里的蛔蟲嗎?')
? ? else:
? ? ? ? if guess > num:
? ? ? ? ? ? print('大了大了!')
? ? ? ? else:
? ? ? ? ? ? print('小了小了!')
? ? ? ? if times > 0:
? ? ? ? ? ? print('請重新輸入一個整數(shù):')
? ? ? ? else:
? ? ? ? ? ? print('機會用完了!')
print('游戲結束?。?!')
答1:
print('——————閏年——————')
temp = input('請輸入年份:')
while not temp.isdigit():
? ? temp = input('抱歉,您輸入有誤,請重新輸入:')
year = int(temp)
if year/400 == int(year/400):
? ? print(temp + '是閏年!')
else:
? ? print('不是閏年!')
? ? if (year/4 == int(year/4)) and (year/100 != int(year/100)):
? ? ? ? print(temp + '是閏年!')
? ? else:
? ? ? ? print('不是閏年')