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

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

6-1 人 :使用一個字典來儲存一個熟人的資訊,包括名、姓、年齡和居住的城市。該字典應包含鍵first_name 、last_name 、age 和city 。將儲存在該字典中
的每項資訊都打印出來。

data = {"first_name": "鄭", "last_name": "超", "age": 23, "city": "hangzhou"}
print(data["first_name"], data["last_name"], data["age"], data["city"])

6-2 喜歡的數字 :使用一個字典來儲存一些人喜歡的數字。請想出5個人的名字,並將這些名字用作字典中的鍵;想出每個人喜歡的一個數字,並將這些數字作為值存
儲在字典中。列印每個人的名字和喜歡的數字。為讓這個程式更有趣,通過詢問朋友確保資料是真實的。

data = {"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}
print(data)

6-3 詞彙表 :Python字典可用於模擬現實生活中的字典,但為避免混淆,我們將後者稱為詞彙表。
想出你在前面學過的5個程式設計詞彙,將它們用作詞彙表中的鍵,並將它們的含義作為值儲存在詞彙表中。
以整潔的方式列印每個詞彙及其含義。為此,你可以先列印詞彙,在它後面加上一個冒號,再列印詞彙的含義;也可在一行列印詞彙,再使用換行符(\n )插
入一個空行,然後在下一行以縮排的方式列印詞彙的含義。

data = {"p": "Python", "j": "Java", "r": "R", "c": "C"}
for k, v in data.items():
    print(k, ":", v)

6-4 詞彙表2 :既然你知道了如何遍歷字典,現在請整理你為完成練習6-3而編寫的程式碼,將其中的一系列print 語句替換為一個遍歷字典中的鍵和值的迴圈。確定該
迴圈正確無誤後,再在詞彙表中新增5個Python術語。當你再次執行這個程式時,這些新術語及其含義將自動包含在輸出中。

lists = {
    'items()': '返回鍵值對列表',
    'keys()': '遍歷字典中的所有鍵',
    'sorted()': '按順序排列鍵',
    'values()': '遍歷字典中的所有值',
}
for key, value in lists.items():
    print(key, ':', value)

6-5 河流 :建立一個字典,在其中儲存三條大河流及其流經的國家。其中一個鍵—值對可能是’nile’: ‘egypt’ 。
使用迴圈為每條河流列印一條訊息,如“The Nileruns throughEgypt.”。
使用迴圈將該字典中每條河流的名字都打印出來。
使用迴圈將該字典包含的每個國家的名字都打印出來。

river = {
	'nile':'egypt',
	'yellow river':'lanchow',
	'Mississippi River':'north America'
}
for key,value in river.items():
	print("The %s runs through %s"%(key.title(),value.title()))

6-6 調查 :在6.3.1節編寫的程式favorite_languages.py中執行以下操作。
建立一個應該會接受調查的人員名單,其中有些人已包含在字典中,而其他人未包含在字典中。
遍歷這個人員名單,對於已參與調查的人,列印一條訊息表示感謝。對於還未參與調查的人,列印一條訊息邀請他參與調查。

favorite_languages = {
    'Bob': 'python',
    'Tom': 'c',
    'jack': 'ruby',
    'tony': 'python',
}
interviewer = ['Bob', 'sarah', 'Tom', 'jack', 'alice']
for user in interviewer:
    if user in favorite_languages.keys():
        print('%s thank you for your intend' % user)
    else:
        print('welcome to here %s' % user)

6-7 人 :在為完成練習6-1而編寫的程式中,再建立兩個表示人的字典,然後將這三個字典都儲存在一個名為people 的列表中。遍歷這個列表,將其中每個人的所有
資訊都打印出來。

data = [{"first_name": "鄭", "last_name": "超", "age": 23, "city": "hangzhou"},
        {"first_name": "哈", "last_name": "哈", "age": 21, "city": "hangzhou"},
        {"first_name": "呵", "last_name": "呵", "age": 22, "city": "hangzhou"}
        ]
for i in data:
    for k, v in i.items():
        print(" %s: %s" % (k, v))

6-8 寵物 :建立多個字典,對於每個字典,都使用一個寵物的名稱來給它命名;在每個字典中,包含寵物的型別及其主人的名字。將這些字典儲存在一個名為pets 的列表中,再遍歷該列表,並將寵物的所有資訊都打印出來。

cat = {'name': 'kitty', 'owner': 'lucy'}
dog = {'name': 'jack', 'owner': 'nancy'}
rabbit = {'name': 'tom', 'own': 'mary'}
pets = [cat, dog, rabbit]
for pet in pets:
    for k, v in pet.items():
        print('%s:%s' % (k, v))

6-9 喜歡的地方 :建立一個名為favorite_places 的字典。在這個字典中,將三個人的名字用作鍵;對於其中的每個人,都儲存他喜歡的1~3個地方。為讓這個練
習更有趣些,可讓一些朋友指出他們喜歡的幾個地方。遍歷這個字典,並將其中每個人的名字及其喜歡的地方打印出來。

favorite_places = {
    "zhengchao": ["hangzhou", "wuhan", "nanjing"],
    "jack": ["wuhan", "suzhou", "tianjin"],
    "tom": ["guangzhou", "guiling", "guiyang"]
}
for k, v in favorite_places.items():
    print(k)
    for i in v:
        print("\t%s" % i)

6-10 喜歡的數字 :修改為完成練習6-2而編寫的程式,讓每個人都可以有多個喜歡的數字,然後將每個人的名字及其喜歡的數字打印出來。

# 同6-9

6-11 城市 :建立一個名為cities 的字典,其中將三個城市名用作鍵;對於每座城市,都建立一個字典,並在其中包含該城市所屬的國家、人口約數以及一個有關該
城市的事實。在表示每座城市的字典中,應包含country 、population 和fact 等鍵。將每座城市的名字以及有關它們的資訊都打印出來。

cities = {
    'A': {'country': 'china', 'population': 32100, 'fact': 'A'},
    'B': {'country': 'england', 'population': 36464, 'fact': 'B'},
    'C': {'country': 'america', 'population': 465487, 'fact': 'C'},
}
for k, v in cities.items():
    print(k, ":")
    for key, value in v.items():
        print("\t", key, ":", value)