1. 程式人生 > >【零基礎】Python3學習課後練習題(五)

【零基礎】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(),你更傾向於使用哪個?

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

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 + '年不是閏年')