Python 從入門到實踐 5-8 課後習題
阿新 • • 發佈:2019-02-12
5.8
以特殊方式跟管理員打招呼:建立一個至少包含5 個使用者名稱的列表,且其中一
個使用者名稱為'admin'。想象你要編寫程式碼,在每位使用者登入網站後都列印一條問候訊息。
遍歷使用者名稱列表,並向每位使用者列印一條問候訊息。
如果使用者名稱為'admin',就列印一條特殊的問候訊息,如“Hello admin, would you
like to see a status report?”。
否則,列印一條普通的問候訊息,如“Hello Eric, thank you for logging in again”。
names = ['admin', 'David', 'Jone', 'Mickle', 'Jane'] for name in names: if 'admin' in name: print("Hello admin, would you like to see a status report?") else: print("Hello Eric,thank you for logging in again") 問題1:else後的print會列印4遍。
問題2:如果與else縮排一樣的話。for迴圈只會執行一次。
5.9
處理沒有使用者的情形:在為完成練習5-8 編寫的程式中,新增一條if 語句,檢 查使用者名稱列表是否為空。 如果為空,就列印訊息“We need to find some users!”。 刪除列表中的所有使用者名稱,確定將列印正確的訊息。
#新增if語句判斷使用者名稱列表是否為空列表 names = ['David', 'admin', 'Jone', 'Mickle', 'Jane'] if names: for name in names: if 'admin' in name: print("Hello admin, would you like to see a status report?") else: print("Hello Eric,thank you for logging in again") else: print("We need find some users!")
5.10檢查使用者名稱:按下面的說明編寫一個程式,模擬網站確保每位使用者的使用者名稱 都獨一無二的方式。 建立一個至少包含5 個使用者名稱的列表,並將其命名為current_users。 再建立一個包含5 個使用者名稱的列表,將其命名為new_users,並確保其中有一兩 個使用者名稱也包含在列表current_users 中。 遍歷列表new_users,對於其中的每個使用者名稱,都檢查它是否已被使用。如果是 這樣,就列印一條訊息,指出需要輸入別的使用者名稱;否則,列印一條訊息,指 出這個使用者名稱未被使用。
current_users = ['Jone', 'David', 'John', 'Franck', 'admin'] new_users = ['Lemon', 'Jone', 'Len', 'John', 'Hayley'] for new_users in current_users: if new_users.lower() in current_users.lower(): print("The name has created,please change the name.^_^") else: print("OK,the name which you named could use,please enter")
問題:錯誤不知道在哪,執行不出來,希望可以得到幫助,或者我自己可以理解了,再回頭更改!
5.11
序數:序數表示位置,如1st 和2nd。大多數序數都以th 結尾,只有1、2 和3 例外。 在一個列表中儲存數字1~9。 遍歷這個列表。 在迴圈中使用一個if-elif-else 結構,以列印每個數字對應的序數。輸出內容 應為1st、2nd、3rd、4th、5th、6th、7th、8th 和9th,但每個序數都獨佔一行。
numbers = [1, 2, 3, 4, 5 ,6, 7, 8, 9] for number in numbers: if number == 1: print(str(number) +'st') elif number == 2: print(str(number) + 'nd') elif number == 3: print(str(number) + 'rd') else: print(str(number) + 'th')