【零基礎】Python3學習課後練習題(五)
本文是跟著魚C論壇小甲魚零基礎學習Python3的視訊學習的,課後題也是跟隨每一課所附屬的題目來做的,根據自己的理解和標準答案記錄的筆記。
第五課
測試題:
0. 在 Python 中,int 表示整型,那你還記得 bool、float 和 str 分別表示什麼嗎? 答: bool 代表布林型別, float 代表浮點型, str 代表字串。
1. 你知道為什麼布林型別(bool)的 True 和 False 分別用 1 和 0 來代替嗎?
答:因為計算機的二進位制只能識別0和1。
2. 使用 int() 將小數轉換為整數,結果是向上取整還是向下取整呢?
答:向下取整。
>>> int(5.499) 5 >>> int(5.999) 5
3. 我們人類思維是習慣於“四捨五入”法,你有什麼辦法使得 int() 按照“四捨五入”的方式取整嗎?
答:
#原始碼
temp = input('輸入一個數進行四捨五入:')
number = float(temp) + 0.5
resultnumber = int(number)
print(resultnumber)
#執行結果
輸入一個數進行四捨五入:5.499
5
>>>
輸入一個數進行四捨五入:5.999
6
>>>
4. 取得一個變數的型別,視訊中介紹可以使用 type() 和 isinstance(),你更傾向於使用哪個?
5. Python3 可以給變數命名中文名,知道為什麼嗎?
答:因為 Python3 內建了 utf-8 編碼。
動動手:
0.針對視訊中小甲魚提到的小漏洞,再次改進我們的小遊戲:當用戶輸入錯誤型別的時候,及時提醒使用者重新輸入,防止程式崩潰。
提示:
s為字串 s.isalnum() 所有字元都是數字或者字母,為真返回 Ture,否則返回 False。 s.isalpha() 所有字元都是字母,為真返回 Ture,否則返回 False。 s.isdigit() 所有字元都是數字,為真返回 Ture,否則返回 False。 s.islower() 所有字元都是小寫,為真返回 Ture,否則返回 False。 s.isupper() 所有字元都是大寫,為真返回 Ture,否則返回 False。 s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。 s.isspace() 所有字元都是空白字元,為真返回 Ture,否則返回 False。 例如: >>> s = 'I LOVE FISHC' >>> s.isupper() >>> True
答:
Number = 8
count = 1
print('-----猜猜看Rony心中的數字-----')
temp = input("你能猜出Rony現在所想的數字是:")
while not temp.isdigit():
print('輸入不合法!')
temp = input('請輸入一個整數:')
guess = int(temp)
if guess == Number:
print("哇,這你都能猜中?")
print("不過沒有獎勵哦!")
if guess < Number:
print('這個數字小了')
if guess > Number:
print('這個數字大了')
while guess != Number and count < 3:
temp = input("哦豁,錯了,重猜看看:")
guess = int(temp)
if guess == Number:
print("哇,這你都能猜中?")
print("不過沒有獎勵哦!")
else:
if guess > Number:
print('這個數字大了')
else:
print('這個數字小了')
count += 1
print("遊戲結束.")
1. 寫一個程式,判斷給定年份是否為閏年。(注意:請使用已學過的 BIF 進行靈活運用) 這樣定義閏年的:能被4整除但不能被100整除,或者能被400整除都是閏年。
答:
temp = input('請輸入一個年份:')
while not temp.isdigit():
print('輸入內容有誤!')
temp = input('請輸入一個年份:')
year = int(temp)
if year%4 == 0 and year%100 != 0 :
print(temp + '年是閏年')
else:
print(temp + '年不是閏年')