《父與子的程式設計之旅(第3版)》第6章習題答案

謝婷婷發表於2020-08-27

本文針對第6章章末的習題提供參考答案。當然,有些習題的正確答案不止一個,特別是“動手試一試”,不過你可以通過這些答案來判斷自己的思路是否正確。

第6章 GUI

測試題

  1. 要用EasyGUI生成訊息框,可以使用msgbox()函式,如下所示。

    easygui.msgbox("This is the answer!")

  2. 要用EasyGUI獲得字串輸入,可以使用enterbox

  3. 要用EasyGUI獲得整數輸入,可以使用enterbox從使用者獲得一個字串,然後把它轉換為int,也可以直接使用integerbox

  4. 要用EasyGUI獲得浮點數輸入,可以使用enterbox獲得一個字串,然後使用float()函式把這個字串轉換成一個浮點數。

  5. 預設值就像“自動獲取的答案”。以下是一種可能會用到預設值的情況:如果你要編寫一個程式,讓班裡的所有學生都輸入他們的名字和地址,你可以把地址中的預設城市設為你居住的城市。這樣一來,學生就不用再鍵入城市了(除非他們居住在其他城市)。

動手試一試

  1. 以下是一個使用EasyGUI實現的溫度轉換程式。

    # tempgui1.py
    # EasyGUI版本的溫度轉換程式
    # 華氏度轉換為攝氏度
    import easygui
    easygui.msgbox('This program converts Fahrenheit to Celsius')
    temperature = easygui.enterbox('Type in a temperature in Fahrenheit:')
    Fahr = float(temperature)
    Cel = (Fahr - 32) * 5 / 9
    easygui.msgbox('That is ' + str(Cel) + ' degrees Celsius.')

  2. 下面這個程式會詢問使用者的姓名以及詳細地址,然後將它們全部顯示出來。對這個程式而言,瞭解如何強制換行會很有幫助:換行會讓後面的文字從新的一行開始。為此需要用到\n,第21章詳細解釋了這部分內容。

    # address.py
    # 輸入你的姓名和詳細地址,包括街道(具體到門牌號)、城市、所屬省份或所屬州、郵政編碼,
    # 然後全部顯示出來
    import easygui
    name = easygui.enterbox("What is your name?")
    addr = easygui.enterbox("What is your street address?")
    city = easygui.enterbox("What is your city?")
    state = easygui.enterbox("What is your state or province?")
    code = easygui.enterbox("What is your postal code or zip code?")
    whole_addr = name + "\n" + addr + "\n" + city + ", " + state + "\n" + code
    easygui.msgbox(whole_addr, "Here is your address:")

相關文章