1. 程式人生 > >Python程式設計從入門到實踐課後答案:第三章

Python程式設計從入門到實踐課後答案:第三章

3-1 姓名: 將一些朋友的姓名儲存在一個列表中,並將其命名為names 。依次訪問該列表中的每個元素,從而將每個朋友的姓名都打印出來。

names = ["Tom", "Bob", "Jack"]
for i in names:
	print(i)

3-2 問候語: 繼續使用練習3-1中的列表,但不列印每個朋友的姓名,而為每人列印一條訊息。每條訊息都包含相同的問候語,但擡頭為相應朋友的姓名。

names = ["Tom", "Bob", "Jack"]
for i in names:
	print(i,"How are you")

3-3 自己的列表: 想想你喜歡的通勤方式,如騎摩托車或開汽車,並建立一個包含多種通勤方式的列表。根據該列表列印一系列有關這些通勤方式的宣言,如“I would like to own a Honda motorcycle”。

commute_list = ["bike","car","motorcycle"]
for i in commute_list:
	print("I would like to own a" + i)

3-4 嘉賓名單 :如果你可以邀請任何人一起共進晚餐(無論是在世的還是故去的),你會邀請哪些人?請建立一個列表,其中包含至少3個你想邀請的人;然後,使用
這個列表列印訊息,邀請這些人來與你共進晚餐。

names = ["Tom", "Bob", "Jack"]
print(names)

3-5 修改嘉賓名單 :你剛得知有位嘉賓無法赴約,因此需要另外邀請一位嘉賓。
以完成練習3-4時編寫的程式為基礎,在程式末尾新增一條print 語句,指出哪位嘉賓無法赴約。
修改嘉賓名單,將無法赴約的嘉賓的姓名替換為新邀請的嘉賓的姓名。
再次列印一系列訊息,向名單中的每位嘉賓發出邀請。

names = ["Tom", "Bob", "Jack"]
print(names[0]+" cant come this party")
lists[0]="Nick"
print(names)

3-6 新增嘉賓 :你剛找到了一個更大的餐桌,可容納更多的嘉賓。請想想你還想邀請哪三位嘉賓。
以完成練習3-4或練習3-5時編寫的程式為基礎,在程式末尾新增一條print 語句,指出你找到了一個更大的餐桌。
使用insert() 將一位新嘉賓新增到名單開頭。
使用insert() 將另一位新嘉賓新增到名單中間。
使用append() 將最後一位新嘉賓新增到名單末尾。
列印一系列訊息,向名單中的每位嘉賓發出邀請。

print("I found a bigger table!")
names = ["Tom", "Bob", "Jack"]
names.insert(0, "Nick")
names.insert(2, "jane")
names.append("lily")
print(names)
for i in names:
    print("Welcome " + i)

3-7 縮減名單 :你剛得知新購買的餐桌無法及時送達,因此只能邀請兩位嘉賓。
以完成練習3-6時編寫的程式為基礎,在程式末尾新增一行程式碼,列印一條你只能邀請兩位嘉賓共進晚餐的訊息。
使用pop() 不斷地刪除名單中的嘉賓,直到只有兩位嘉賓為止。每次從名單中彈出一位嘉賓時,都列印一條訊息,讓該嘉賓知悉你很抱歉,無法邀請他來共進
晚餐。
對於餘下的兩位嘉賓中的每一位,都列印一條訊息,指出他依然在受邀人之列。
使用del 將最後兩位嘉賓從名單中刪除,讓名單變成空的。列印該名單,核實程式結束時名單確實是空的。

names = ['Nick', 'Tom', 'jane', 'Bob', 'Jack', 'lily']
print("Because the table could not be served, only two guests could be invited.")
while len(names) > 2:
    print(names[-1]+" Sorry, you can't come to dinner.")
    names.pop()
for i in range(len(names)):
    print(names[0] + " You're still receiving an invitation.")
    del names[0]
print(names)

3-8 放眼世界 :想出至少5個你渴望去旅遊的地方。
將這些地方儲存在一個列表中,並確保其中的元素不是按字母順序排列的。
按原始排列順序列印該列表。不要考慮輸出是否整潔的問題,只管列印原始Python列表。
使用sorted() 按字母順序列印這個列表,同時不要修改它。
再次列印該列表,核實排列順序未變。
使用sorted() 按與字母順序相反的順序列印這個列表,同時不要修改它。
再次列印該列表,核實排列順序未變。
使用reverse() 修改列表元素的排列順序。列印該列表,核實排列順序確實變了。
使用reverse() 再次修改列表元素的排列順序。列印該列表,核實已恢復到原來的排列順序。
使用sort() 修改該列表,使其元素按字母順序排列。列印該列表,核實排列順序確實變了。
使用sort() 修改該列表,使其元素按與字母順序相反的順序排列。列印該列表,核實排列順序確實變了。

list = ["c", "d", "a", "e", "b"]  # 將這些地方儲存在一個列表中,並確保其中的元素不是按字母順序排列的。
print(list)
print(sorted(list))  # 使用sorted() 按字母順序列印這個列表,同時不要修改它。
print(list)  # 再次列印該列表,核實排列順序未變。
print(sorted(list, reverse=True))  # 使用sorted() 按與字母順序相反的順序列印這個列表,同時不要修改它。
print(list)  # 再次列印該列表,核實排列順序未變。
list.reverse()  # 使用reverse() 修改列表元素的排列順序。列印該列表,核實排列順序確實變了。
print(list)
list.reverse()  # 使用reverse() 再次修改列表元素的排列順序。列印該列表,核實已恢復到原來的排列順序。
print(list)
list.sort()  # 使用sort() 修改該列表,使其元素按字母順序排列。列印該列表,核實排列順序確實變了。
print(list)
list.sort(reverse=True)  # 使用sort() 修改該列表,使其元素按與字母順序相反的順序排列。列印該列表,核實排列順序確實變了。
print(list)

3-9 晚餐嘉賓 :在完成練習3-4~練習3-7時編寫的程式之一中,使用len() 列印一條訊息,指出你邀請了多少位嘉賓來與你共進晚餐。

list = ["a","b","c"]
print(len(list)

3-10 嘗試使用各個函式 :想想可儲存到列表中的東西,如山嶽、河流、國家、城市、語言或你喜歡的任何東西。編寫一個程式,在其中建立一個包含這些元素的列
表,然後,對於本章介紹的每個函式,都至少使用一次來處理這個列表。

3-11 有意引發錯誤 :如果你還沒有在程式中遇到過索引錯誤,就嘗試引發一個這種錯誤。在你的一個程式中,修改其中的索引,以引發索引錯誤。關閉程式前,務
必消除這個錯誤。