1. 程式人生 > >Python 從入門到實踐 5-8 課後習題

Python 從入門到實踐 5-8 課後習題

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')