Python编程从入门到实践——第六章:字典

课后习题

动手试一试

6-1 人 :使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键first_name 、last_name 、age 和city 。将存储在该字典中 的每项信息都打印出来。
familiar_person = {
    'first_name' : 'Jack',
    'last_name' : 'Wang',
    'age' : '30',
    'city' : 'ShangHai'
    }
print(familiar_person)

6-2 喜欢的数字 :使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。

friends_numbers = {
    'jack' : '6',
    'tom' : '7',
    'angel' : '30',
    'kitty' : '1',
    'jerry':'10'
    }
print(friends_numbers)

6-3 词汇表 :Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。
想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n )插入一个空行,然后在下一行以缩进的方式打印词汇的含义。

vocabulary ={
    'P':'Python',
    'J':'Java',
    'C':'C',
    'V':'Visual Basic',  
}  
for key,value in vocabulary.items():
    print(key + "'s vocabulary is  " +value) 

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(key + " runs in the " + value + ".")  

6-6 调查 :在6.3.1节编写的程序favorite_languages.py中执行以下操作。
创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。

favourite_language = {
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
    }
researchs = ['jen','sarah','jack','peter']
for research in researchs:
    if research in favourite_language.keys():
        print("Thank you, " + research + "  attend the meeting.")
    else:
        print("I will invite " +research + " attend the meeting." )

6-7  人 :在为完成练习 6-1 而编写的程序中,再创建两个表示人的字典,然后将这三个字典都存储在一个名为 people 的列表中。遍历这个列表,将其中每个人的所有信息都打印出来。

person_1 = {  
    'first_name':'HandSome',  
    'last_name':'Girl',  
    'age':21,  
    'city':'Zhuhai',
    }
person_2 = {
    'first_name':'Jack',  
    'last_name':'Li',  
    'age':18,  
    'city':'Shanghai',
    }
person_3 = {
    'first_name':'Tom',  
    'last_name':'Wang',  
    'age':20,  
    'city':'Shanghai',
    }
peoples = [person_1,person_2,person_3]
for people in peoples:
    print(people)

6-8  宠物 :创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为 pets 的列表中,再遍历该列表,并将宠物的所有信息都打印出来。
dog = {'age':2,'master':'Min LouLou'}
cat = {'age':6,'master':'Gai'}
monkey = {'age':5,'master':'HaHa'}
pets = [dog,cat,monkey]
for pet in pets:
    print(pet['master'].title()+ "'s pet is " + str(pet['age']) + " years old.")

6-9  喜欢的地方 :创建一个名为 favorite_places 的字典。在这个字典中,将三个人的名字用作键;对于其中的每个人,都存储他喜欢的 1~3 个地方。为让这个练习更有趣些,可让一些朋友指出他们喜欢的几个地方。遍历这个字典,并将其中每个人的名字及其喜欢的地方打印出来。

favorite_places = {"Min LouLou":["bangkok",'chiang mai','singapore'],
                   "Xiao Ming":['chengdu',"chongqing",'lasa'],
                   'Xiao Nan':['qingdao','seoul','pyongyang']
                   }
for name,place in sorted(favorite_places.items()):
    print("\nname: " + name.title())
    for city in place:
        print("Favorite places: " +city.title())

6-10  喜欢的数字 :修改为完成练习 6-2 而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。
#定义三个人,名字和喜欢的数字,字典中存放的是列表
person_0 = {"name":"liujq",'number':[6,7,9]}
person_1 = {'name':'sora aoi','number':[0,1]}
person_2 = {'name':'Ria Sakurai','number':[7,6,66]}

#将三个人存放在一个列表中
persons = [person_0,person_1,person_2]

#从列表中遍历三个人,注意,遍历出来的是字典,我们遍历的时候使用的是列表的性质,要注意自己的操作对象是什么
for person in persons:
    #调用字典中的键和值
        print("\nName: " + person['name'])
        #由于键对应的值是一个列表,使用列表的性质遍历每个人的幸运数字
        for num in person['number']:
            print("Lucky number: " + str(num))

6-11  城市 :创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该 城市的事实。在表示每座城市的字典中,应包含 country 、 population 和 fact 等键。将每座城市的名字以及有关它们的信息都打印出来。
cities = {
    'seoul':{
        "country":'korea',
        "population":10,
        'fact':'Pickled cabbage'
        },
    'beijing':{
        'country':'china',
        'population':100,
        'face':'noodle'
        },
    'paris':{
        'country':'frence',
        'population':15,
        'fact':'hambarger'},
    }

#遍历每个城市的信息,由于属于嵌套,字典里面嵌套一个字典,要只用字典的属性
for captial,value in cities.items():
    print(value['country'].title() + "'s captial is "
          + captial + ', and haa the population of '
          + str(value['population'])+'.')







猜你喜欢

转载自blog.csdn.net/zhuoyue65/article/details/79293247
今日推荐