python第七章动手试一试_《Python从入门到实践》第六章动手试一试

本篇博客通过一系列的编程练习介绍了Python字典的使用,包括存储个人信息、记录喜好、创建词汇表、模拟字典等场景。练习涉及字典的创建、遍历、更新以及与其他数据结构的交互,展示了字典在存储和检索数据方面的灵活性。
摘要由CSDN通过智能技术生成

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

information = {"first_name":"A", "last_name":"B", "age":20, "city":"China"}

print(information)

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

favorite_numbers = {'A':1, 'B':2, 'C':3, 'D':4, 'E':5}

print(favorite_numbers)

print("A喜欢的数字是" + str(favorite_numbers['A']) + ".")

6-3 词汇表 :Python字典可用于模拟现实生活中的字典,但为避免混淆,我们将后者称为词汇表。

想出你在前面学过的5个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。

以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n )插入一个空行,然后在下一行以缩进的方式打印词汇的含义。

func = {"input":"提示用户输入内容", "print":"打印输出内容", "del":"删除指定内容", "def":"可以创建函数", "range":"创建指定的数列"}

for i in func:

print(i + "的含义是: " + str(func[i]) + "\n")

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

func = {"input":"提示用户输入内容", "print":"打印输出内容", "del":"删除指定内容", "def":"可以创建函数", "range":"创建指定的数列"}

for key,value in func.items():

print(key + " 键")

print(value + " 值")

func["key"] = "字典的键"

func["value"] = "字典的值"

func["append"] = "添加元素到列表末尾"

func["pop"] = "删除元素并提取使用"

func["copy"] = "复制变量"

for key,value in func.items():

print(key + " 键")

print(value + " 值")

6-5 河流 :创建一个字典,在其中存储三条大河流及其流经的国家。其中一个键—值对可能是'nile': 'egypt' 。

使用循环为每条河流打印一条消息,如“The Nile runs through Egypt.”。

使用循环将该字典中每条河流的名字都打印出来。

使用循环将该字典包含的每个国家的名字都打印出来。

rivers = {'nile': 'egypt',

'huanghe':'china',

'changjiang':'zhongguo'}

for key, value in rivers.items():

print("The " + key + " runs through " + value + ".")

#河流循环

for river in rivers.keys():

print(river)

#国家循环

for country in rivers.values():

print(country)

6-6 调查 :在6.3.1节编写的程序favorite_languages.py中执行以下操作。

创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。

遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。

favorite_languages = {

'jen': 'python',

'sarah': 'c',

'edward': 'ruby',

'phil': 'python',

'李':'四',

}

new_person = ['赵','钱','孙','李']

for k in favorite_languages:

if k in new_person:

print("非常感谢" + k + "参加问卷调查.\n")

else:

print("请" + k + "参加问卷调查.\n")

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

information_1 = {"first_name":"A", "lost_name":"B", "age":20, "city":"china"}

information_2= {"first_name":"C", "lost_name":"D", "age":20, "city":"china"}

information_3= {"first_name":"E", "lost_name":"F", "age":20, "city":"china"}

people = [information_1, information_2, information_3]

for i in people:

print(i)

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

pets = {

"A":{

"name":"aa",

"per_name":"dog",

"pet_age":"1",

},

"B":{

"name":"bb",

"per_name":"cat",

"pet_age":"2",

},

}

for k,v in pets.items():

print(k)

print(v)

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

favorite_places = {

'甲':{'一'},

'乙':{'二','三','四'},

'丙':{'五','六','七'}

}

for ks, vs in favorite_places.items():

if len(vs) == 1:

for v in vs:

print(ks + "喜欢的数字只有一个 " + v)

else:

print("\n" + ks + "喜欢的数字有:")

for v in vs:

if v != 1:

print("\t" + v)

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

favorite_number = {

'A':{'1','2','3'},

'B':{'4','5','6'},

'C':{'7','8','9'}

}

for ks, vs in favorite_number.items():

print(ks.title() + "喜欢的数字是")

for v in vs:

print(':' + v)

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

cities = {

'A':{'country':'aa', 'population ':'bb', 'fact':'cc'},

'B':{'country':'aa', 'population ':'bb', 'fact':'cc'},

'C':{'country':'aa', 'population ':'bb', 'fact':'cc'},

}

for k, v in cities.items():

print(k, v)

for k, v in cities.items():

print(k)

print(v)

6-12 扩展 :本章的示例足够复杂,可以以很多方式进行扩展了。请对本章的一个示例进行扩展:添加键和值、调整程序要解决的问题或改进输出的格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值