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

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

4-1 比薩 :想出至少三種你喜歡的比薩,將其名稱儲存在一個列表中,再使用for 迴圈將每種比薩的名稱都打印出來。
修改這個for 迴圈,使其列印包含比薩名稱的句子,而不僅僅是比薩的名稱。對於每種比薩,都顯示一行輸出,如“I like pepperoni pizza”。
在程式末尾新增一行程式碼,它不在for 迴圈中,指出你有多喜歡比薩。輸出應包含針對每種比薩的訊息,還有一個總結性句子,如“I really love pizza!”。

pizza = ['banana','milk','apple']
for i in pizza:
	print("I like %s pizza"%i)
print("I really love Pizza")

4-2 動物 :想出至少三種有共同特徵的動物,將這些動物的名稱儲存在一個列表中,再使用for 迴圈將每種動物的名稱都打印出來。
修改這個程式,使其針對每種動物都列印一個句子,如“Adogwould makea great pet”。
在程式末尾新增一行程式碼,指出這些動物的共同之處,如列印諸如“Any oftheseanimals would makea great pet!”這樣的句子。

animals = ['dog','cat','mouse']
for i in animals:
	print("A %s would make a great pet"%i)
print("They all have four legs.")

4-3 數到20 :使用一個for 迴圈列印數字1~20(含)。

for i in range(21):
	print(i)

4-4 一百萬 :建立一個列表,其中包含數字1~1 000 000,再使用一個for 迴圈將這些數字打印出來(如果輸出的時間太長,按Ctrl+ C停止輸出,或關閉輸出視窗)。

for i in range(1000001):
	print(i)

4-5 計算1~1 000 000的總和 :建立一個列表,其中包含數字1~1 000 000,再使用min() 和max() 核實該列表確實是從1開始,到1 000 000結束的。另外,對這個列表
呼叫函式sum() ,看看Python將一百萬個數字相加需要多長時間。

numbers = list(range(1000001))
min(numbers)
max(numbers)
sun(numbers)

4-6 奇數 :通過給函式range() 指定第三個引數來建立一個列表,其中包含1~20的奇數;再使用一個for 迴圈將這些數字都打印出來。

list(range(1, 21, 2))

4-7 3的倍數 :建立一個列表,其中包含3~30內能被3整除的數字;再使用一個for 迴圈將這個列表中的數字都打印出來。

numbers = list(range(3,31,3))
for num in numbers:
	print(num)

4-8 立方 :將同一個數字乘三次稱為立方。例如,在Python中,2的立方用2**3 表示。請建立一個列表,其中包含前10個整數(即1~10)的立方,再使用一個for 循
環將這些立方數都打印出來。

a = list(range(1, 11))
for i in [i ** 3 for i in a]:
    print(i)

4-9 立方解析 :使用列表解析生成一個列表,其中包含前10個整數的立方。

list = [a**3 for a in range(1,11)]
print(list)

4-10 切片 :選擇你在本章編寫的一個程式,在末尾新增幾行程式碼,以完成如下任務。
列印訊息“Thefirst threeitems in thelistare:”,再使用切片來列印列表的前三個元素。
列印訊息“Threeitems fromthe middle ofthelistare:”,再使用切片來列印列表中間的三個元素。
列印訊息“Thelast threeitems in thelistare:”,再使用切片來列印列表末尾的三個元素。

a = list(range(1, 6))
print("The first three items in the list are.")
print(a[0:3])
print("The items from the middle of the list are ")
print(a[1:4])
print("The last three items in the list are ")
print(a[-3:])

4-11 你的比薩和我的比薩 :在你為完成練習4-1而編寫的程式中,建立比薩列表的副本,並將其儲存到變數friend_pizzas 中,再完成如下任務。
在原來的比薩列表中新增一種比薩。
在列表friend_pizzas 中新增另一種比薩。
核實你有兩個不同的列表。為此,列印訊息“My favorite pizzasare:”,再使用一個for 迴圈來列印第一個列表;列印訊息“My friend’s favorite pizzasare:”,再使用一
個for 迴圈來列印第二個列表。核實新增的比薩被新增到了正確的列表中。

pizza = ['banana','milk','apple']
friend_pizzas = ['banana','milk','apple']
friend_pizzas.append("org")
for i in pizza:
	print(i)
print("My friends favorite foods are:")
for i in friend_pizzas:
	print(i)

4-12 使用多個迴圈 :在本節中,為節省篇幅,程式foods.py的每個版本都沒有使用for 迴圈來列印列表。請選擇一個版本的foods.py,在其中編寫兩個for 迴圈,將各
個食品列表都打印出來。

4-13 自助餐 :有一家自助式餐館,只提供五種簡單的食品。請想出五種簡單的食品,並將其儲存在一個元組中。
使用一個for 迴圈將該餐館提供的五種食品都打印出來。
嘗試修改其中的一個元素,核實Python確實會拒絕你這樣做。
餐館調整了選單,替換了它提供的其中兩種食品。請編寫一個這樣的程式碼塊:給元組變數賦值,並使用一個for 迴圈將新元組的每個元素都打印出來。

# 使用一個for 迴圈將該餐館提供的五種食品都打印出來。
a = (1, 2, 3, 4, 5)
for i in a:
    print(i)
# 餐館調整了選單,替換了它提供的其中兩種食品。請編寫一個這樣的程式碼塊:給元組變數賦值,並使用一個for 迴圈將新元組的每個元素都打印出來。
a = (2, 3, 4, 6, 5)
for i in a:
    print(i)