6-1 人 :使用一個字典來存儲一個熟人的資訊,包括名、姓、年齡和居住的城市。該字典應包含鍵first_name 、last_name 、age 和city 。将存儲在該字典中 的每項資訊都列印出來。
person = {
'first_name':'HandSome',
'last_name':'Girl',
'age':21,
'city':'Zhuhai',
}
print(person)
結果:
{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'}
6-2 喜歡的數字 :使用一個字典來存儲一些人喜歡的數字。請想出5個人的名字,并将這些名字用作字典中的鍵;想出每個人喜歡的一個數字,并将這些數字作為值存儲在字典中。列印每個人的名字和喜歡的數字。為讓這個程式更有趣,通過詢問朋友確定資料是真實的。
perfer_num= {
'Nancy':1,
'Lucky':2,
'Handsome_Girl':3,
'Mary':4,
'Tony':5,
}
print(perfer_num)
結果:
{'Handsome_Girl': 3, 'Nancy': 1, 'Tony': 5, 'Lucky': 2, 'Mary': 4}
6-3 詞彙表 :Python字典可用于模拟現實生活中的字典,但為避免混淆,我們将後者稱為詞彙表。
想出你在前面學過的5個程式設計詞彙,将它們用作詞彙表中的鍵,并将它們的含義作為值存儲在詞彙表中。
以整潔的方式列印每個詞彙及其含義。為此,你可以先列印詞彙,在它後面加上一個冒号,再列印詞彙的含義;也可在一行列印詞彙,再使用換行符(\n )插 入一個空行,然後在下一行以縮進的方式列印詞彙的含義。
vocabulary ={
'P':'Python',
'J':'Java',
'C':'C',
'V':'Visual Basic',
}
for key,value in vocabulary.items():
print(key,':',value)
結果:
P : Python
J : Java
V : Visual Basic
C : C
6-4 詞彙表2 :既然你知道了如何周遊字典,現在請整理你為完成練習6-3而編寫的代碼,将其中的一系列print 語句替換為一個周遊字典中的鍵和值的循環。确定該 循環正确無誤後,再在詞彙表中添加5個Python術語。當你再次運作這個程式時,這些新術語及其含義将自動包含在輸出中。
vocabulary ={
'P':'Python',
'J':'Java',
'C':'C',
'V':'Visual Basic',
'R':'Ruby',
'P':'111'
}
for key,value in vocabulary.items():
print(key,':',value)
結果:
V : Visual Basic
C : C
P : 111
J : Java
R : Ruby
6-5 河流 :建立一個字典,在其中存儲三條大河流及其流經的國家。其中一個鍵—值對可能是'nile': 'egypt' 。
使用循環為每條河流列印一條消息,如“The Nile runs through Egypt.”。
使用循環将該字典中每條河流的名字都列印出來。
使用循環将該字典包含的每個國家的名字都列印出來。
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()))
結果:
The Nile runs through Egypt
The Mississippi River runs through North America
The Yellow River runs through Lanchow
6-6 調查 :在6.3.1節編寫的程式favorite_languages.py中執行以下操作。
建立一個應該會接受調查的人員名單,其中有些人已包含在字典中,而其他人未包含在字典中。
周遊這個人員名單,對于已參與調查的人,列印一條消息表示感謝。對于還未參與調查的人,列印一條消息邀請他參與調查。
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phill':'python',
}
interviewer = ['jen','sarah','edward','phill','alice','bob']
for user in interviewer:
if user in favorite_languages.items():
print('%s thank you for your intend'%user)
else:
print('welcome to here %s'%user)
結果:
welcome to here jen
welcome to here sarah
welcome to here edward
welcome to here phill
welcome to here alice
welcome to here bob
6-7 人 :在為完成練習6-1而編寫的程式中,再建立兩個表示人的字典,然後将這三個字典都存儲在一個名為people 的清單中。周遊這個清單,将其中每個人的所有 資訊都列印出來。
people = {
'person1' : {
'first_name':'HandSome',
'last_name':'Girl',
'age':21,
'city':'Zhuhai',
},
'person2':{
'first_name':'albert',
'last_name':'einstein',
'age':34,
'city':'princeton'
},
'person3':{
'first_name':'marie',
'last_name':'curie',
'age':36,
'city':'paris'
},
}
for key,value in people.items():
print(key+":")
for key1,value2 in value.items():
print("\t %s:%s"%(key1,value))
結果:
person3:
first_name:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'}
last_name:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'}
age:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'}
city:{'first_name': 'marie', 'last_name': 'curie', 'age': 36, 'city': 'paris'}
person1:
first_name:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'}
last_name:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'}
age:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'}
city:{'first_name': 'HandSome', 'last_name': 'Girl', 'age': 21, 'city': 'Zhuhai'}
person2:
first_name:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'}
last_name:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'}
age:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'}
city:{'first_name': 'albert', 'last_name': 'einstein', 'age': 34, 'city': 'princeton'}
6-8 寵物 :建立多個字典,對于每個字典,都使用一個寵物的名稱來給它命名;在每個字典中,包含寵物的類型及其主人的名字。将這些字典存儲在一個名為pets 的清單中,再周遊該清單,并将寵物的所有資訊都列印出來。
cat = {'name':'kitty','owner':'lucy'}
dog = {'name':'Da Huang','owner':'nancy'}
rabbit = {'name':'little white','owner':'mary'}
pets = [cat,dog,rabbit]
for pet in pets:
for key ,value in pet.items():
print('%s:%s'%(key,value.title()))
結果:
name:Kitty
owner:Lucy
name:Da Huang
owner:Nancy
name:Little White
owner:Mary
6-9 喜歡的地方 :建立一個名為favorite_places 的字典。在這個字典中,将三個人的名字用作鍵;對于其中的每個人,都存儲他喜歡的1~3個地方。為讓這個練 習更有趣些,可讓一些朋友指出他們喜歡的幾個地方。周遊這個字典,并将其中每個人的名字及其喜歡的地方列印出來。
favorite_palces = {
'alice':['shanghai','guangzhou','shenzhen'],
'nancy':['zhuhai','xiamen','beijing'],
'bob':['ningxia','yunnan']
}
for key,value in favorite_palces.items():
print(key+":")
if len(value) > 0:
for place in value:
print("\t",place)
結果:
alice:
shanghai
guangzhou
shenzhen
nancy:
zhuhai
xiamen
beijing
bob:
ningxia
yunnan
6-10 喜歡的數字 :修改為完成練習6-2而編寫的程式,讓每個人都可以有多個喜歡的數字,然後将每個人的名字及其喜歡的數字列印出來。
perfer_num= {
'Nancy':[1,2,3],
'Lucky':[2,3,4],
'Handsome_Girl':[3,4,5],
'Mary':[4,5,6],
'Tony':[5,6,7],
}
for key,value in perfer_num.items():
print(key+":")
if len(value) > 0:
for num in value:
print("\t",num)
結果:
Handsome_Girl:
3
4
5
Lucky:
2
3
4
Nancy:
1
2
3
Tony:
5
6
7
Mary:
4
5
6
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 key,value in cities.items():
print(key,":")
for key1,value1 in value.items():
print("\t",key1,":",value1)
結果:
B :
population : 36464
fact : B
country : england
A :
population : 32100
fact : A
country : china
C :
population : 465487
fact : C
country : america