測試題:
0. 在 Python 中,int 表示整型,那你還記得 bool、float 和 str 分別表示什么嗎?
int---整型
bool---布爾類型
float---浮點數
str---字符串
1. 你知道為什么布爾類型(bool)的 True 和 False 分別用 1 和 0 來代替嗎?
因為它只認識二進制數(0和1)。所有的編程語言最終都會轉換成簡單的二進制序列給 CPU 按照一定的規則解析。
2. 使用 int() 將小數轉換為整數,結果是向上取整還是向下取整呢?
當數值大於0時:截斷式取整,向下取整,只保留整數位數值。
當數值小於0時:反之。
eg:
3. 我們人類思維是習慣於“四舍五入”法,你有什么辦法使得 int() 按照“四舍五入”的方式取整嗎?
加上0.5
eg:
1 a=int(input(輸入任意浮點數:)) 2 print(int(a)) 3 print(int(a+0.5))
4. 取得一個變量的類型,視頻中介紹可以使用 type() 和 isinstance(),你更傾向於使用哪個?
type()---輸出什么類
isinstance( , )---判斷兩個值類型是否一致。
相對而言,在以后的使用上isinstance()更方便使用。
注:建議使用 isinstance(),因為它的返回結果比較直接,另外小甲魚說: type() 其實並沒有想象的那么簡單。
5. Python3 可以給變量命名中文名,知道為什么嗎?
Pyhton3 源碼文件默認使用utf-8編碼(支持中文)。
6. 【該題針對零基礎的魚油】你覺得這個系列教學有難度嗎?
動動手:
0. 針對視頻中小甲魚提到的小漏洞,再次改進我們的小游戲:當用戶輸入錯誤類型的時候,及時提醒用戶重新輸入,防止程序崩潰。
以上方法的思路是正確的,不過似乎忽略了一點兒:就是 input() 的返回值始終是字符串,所以 type(temp) 永遠是 <class 'str'>!
其實有蠻多的做法可以實現的,不過就目前我們學習過的內容來看,還不足夠。
所以,在讓大家動手完成這道題之前,小甲魚介紹一點新東西給大家!
s 為字符串
s.isalnum() 所有字符都是數字或者字母,為真返回 True,否則返回 False。
s.isalpha() 所有字符都是字母,為真返回 True,否則返回 False。
s.isdigit() 所有字符都是數字,為真返回 True,否則返回 False。
s.islower() 所有字符都是小寫,為真返回 True,否則返回 False。
s.isupper() 所有字符都是大寫,為真返回 True,否則返回 False。
s.istitle() 所有單詞都是首字母大寫,為真返回 True,否則返回 False。
s.isspace() 所有字符都是空白字符,為真返回 True,否則返回 False。
例如:
>>> s = 'I LOVE FISHC'
>>> s.isupper()
>>> True
好了,文字教程就到這里,大家趕緊趁熱打鐵,改造我們的小游戲吧!
1. 寫一個程序,判斷給定年份是否為閏年。(注意:請使用已學過的 BIF 進行靈活運用)
這樣定義閏年的:能被4整除但不能被100整除,或者能被400整除都是閏年。
1 print("查詢年份是否為閏年") 2 year=input("請輸入要查詢的年份:") 3 4 def IsLeapYear( year): 5 year=int(year) 6 if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): 7 print(str(year) + "年為閏年。") 8 return True 9 else: 10 print(str(year)+"年不為閏年") 11 return False 12 # Python isdigit() 方法檢測字符串是否只由數字組成 13 if not year.isdigit(): 14 temp=int(input("抱歉輸入格式有誤,請重新輸入:")) 15 IsLeapYear( temp) 16 else: 17 IsLeapYear( year)
2. 請寫下這一節課你學習到的內容:格式不限,回憶並復述是加強記憶的好方式!