python从入门到实践第六章课后练习

python从入门到实践第六章课后练习

6-1 人

使用一个字典来存储一个熟人的信息,包括名、姓、年龄和居住的城市。该字典应包含键 first_name、last_name、age 和 city。将存储在该字典中的每项信息都打印出来。

people = {
    'first_name': 'shi',
    'last_name': 'xiangyu',
    'age': 23,
    'city': 'shenzhen'
    }
print(people['age'])

运行结果

23

6-2 喜欢的数字

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

numbers = {
    'Tim':18,
    'Jim':16,
    'Horace':23,
    'Peter':71,
    'Ming':59
    }
for k,v in numbers.items():
    print(k,'最喜欢的数字是:',v)

运行结果

Tim 最喜欢的数字是: 18
Jim 最喜欢的数字是: 16
Horace 最喜欢的数字是: 23
Peter 最喜欢的数字是: 71
Ming 最喜欢的数字是: 59

6-3 词汇表

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

6-4 词汇表 2

既然你知道了如何遍历字典,现在请整理你为完成练习 6-3 而编写的代码,将其中的一系列 print 语句替换为一个遍历字典中的键和值的循环。确定该循环正确无误后,再在词汇表中添加 5 个 Python 术语。当你再次运行这个程序时,这些新术语及其含义将自动包含在输出中。(偷懒。。。)

tables = {
    'strip':'删除字符串中的空白',
    'insert':'添加元素到列表中的任意位置',
    'sort':'按首字母排列列表',
    'reverse':'反向打印列表',
    'get':'在键不存在时返回None'
    }
for k,v in tables.items():
    print('\n词汇:' + k + ' : ' + '\n意思:' + v )

运行结果

词汇:strip : 
意思:删除字符串中的空白

词汇:insert : 
意思:添加元素到列表中的任意位置

词汇:sort : 
意思:按首字母排列列表

词汇:reverse : 
意思:反向打印列表

词汇:get : 
意思:在键不存在时返回None

6-5 河流

创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是’nile’: ‘egypt’。
 使用循环为每条河流打印一条消息,如“The Nile runs through Egypt.”。
 使用循环将该字典中每条河流的名字都打印出来。
 使用循环将该字典包含的每个国家的名字都打印出来。

rivers = {
    'nile':'egypt',
    'yellow river':'china',
    'long river':'china'
    }
for river, country in rivers.items():
    print('\nThe ' + river.title() +
          ' runs through ' + country.title())
for r in rivers.keys():
    print(r)
for c in rivers.values():
    print(c)

运行结果

The Nile runs through Egypt

The Yellow River runs through China

The Long River runs through China
nile
yellow river
long river
egypt
china
china

6-6 调查

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

favorite_languages = {
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python'
    }
user = ['jen','tim','sarah','jim']
for name in user:
    if name in favorite_languages.keys():
        print('\nThank you,' + name.title() +
              ' it\'s best for you !')
    else:
        print('\nHi ' + name.title() +
              ', I really invite you!')

运行结果

Thank you,Jen it's best for you !

Hi Tim, I really invite you!

Thank you,Sarah it's best for you !

Hi Jim, I really invite you!

6-7 人

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

people_first = {
    'first_name': 'shi',
    'last_name': 'xiangyu',
    'age': 23,
    'city': 'shenzhen'
    }
people_second = {
    'first_name':'wang',
    'last_name':'shuai',
    'age':23,
    'city':'shenzhen'
    }
people_thred = {
    'first_name':'song',
    'last_name':'shiyan',
    'age':24,
    'city':'shanghai'
    }
peoples = [people_first,people_second,people_thred]
for people in peoples:
    print(people)

运行结果

{'first_name': 'shi', 'last_name': 'xiangyu', 'age': 23, 'city': 'shenzhen'}
{'first_name': 'wang', 'last_name': 'shuai', 'age': 23, 'city': 'shenzhen'}
{'first_name': 'song', 'last_name': 'shiyan', 'age': 24, 'city': 'shanghai'}

6-8 宠物

创建多个字典,对于每个字典,都使用一个宠物的名称来给它命名;在每个字典中,包含宠物的类型及其主人的名字。将这些字典存储在一个名为 pets 的列表中,再遍历该列表,并将宠物的所有信息都打印出来。
(和上一题相似,自练)

6-9 喜欢的地方

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

favorite_places = {
    'tim':['beijing','shanghai','guangzhou'],
    'tonny':['shenzhen','hangzhou'],
    'jim':['xiamen']
    }
for name, places in favorite_places.items():
    if len(places) == 1:
        print('\n' + name.title() +
          ' \'s favorite places is: ' )
    else:
        print('\n' + name.title() +
              ' \'s favorite places are: ' )
    for place in places:
        print('\t' + place.title())~

运行结果

Tim 's favorite places are: 
 Beijing
 Shanghai
 Guangzhou

Tonny 's favorite places are: 
 Shenzhen
 Hangzhou

Jim 's favorite places is: 
 Xiamen

6-10 喜欢的数字

修改为完成练习 6-2 而编写的程序,让每个人都可以有多个喜欢的数字,然后将每个人的名字及其喜欢的数字打印出来。

numbers = {
    'Tim':[18,21,29],
    'Jim':[16,78,54],
    'Horace':[23,],
    'Peter':[71,21],
    'Ming':[59,]
    }
for k,v in numbers.items():
    if len(v) == 1:
        print('\n' + k +' \'s favorite number is:')
    else:
        print('\n' + k +' \'s favorite number are:')
    for number in v:
        print('\t' + str(number))~

运行结果

Tim 's favorite number are:
 18
 21
 29

Jim 's favorite number are:
 16
 78
 54

Horace 's favorite number is:
 23

Peter 's favorite number are:
 71
 21

Ming 's favorite number is:
 59

6-11 城市

创建一个名为 cities 的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。在表示每座城市的字典中,应包含 country、population 和 fact 等键。将每座城市的名字以及有关它们的信息都打印出来。

cities = {
    'beijing':{
        'country':'china',
        'population':'lost',
        'fact':'big'
        },
    'shanghai':{
        'country':'china',
        'population':'much',
        'fact':'big'
        },
    'shenzhen':{
        'country':'china',
        'population':'lost',
        'fact':'big'
        }
    }
for city,information in cities.items():
    print('\ncityname: ' + city)
    for s, v in information.items():
        print('\t' + s + ':' + v)~

运行结果

cityname: beijing
 country:china
 population:lost
 fact:big

cityname: shanghai
 country:china
 population:much
 fact:big

cityname: shenzhen
 country:china
 population:lost
 fact:big

你可能感兴趣的:(python从入门到实践第六章课后练习)