《Python编程:从入门到实践》第六章练习题

《Python编程:从入门到实践》第六章练习题

6-1 人

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

代码:

human = {'first_name': 'San', 'last_name': 'Zhang', 'age': 22, 'city': "Shenzhen"}

for key, value in human.items():
    print("\nKey: " + key)
    print("Value: " + str(value))

6-2 喜欢的数字

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

代码:

favorite_number = {'Bob': 1, 'Jack': 2, 'Alice': 3, "John": 4, "Tom": 5}

for key, value in favorite_number.items():
    print(key + " like " + str(value))

6-3 词汇表

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

  • 想出你在前面学过的 5 个编程词汇,将它们用作词汇表中的键,并将它们的含义作为值存储在词汇表中。
  • 以整洁的方式打印每个词汇及其含义。为此,你可以先打印词汇,在它后面加上一个冒号,再打印词汇的含义;也可在一行打印词汇,再使用换行符(\n )插入一个空行,然后在下一行以缩进的方式打印词汇的含义。

代码:

vocabulary = {'accumulator': '累加器', 'algorithm': '算法', 'array': '数组', 'branch': '分支', 'breakpoint': '断点'}

for word, meaning in vocabulary.items():
    print(word + ":" + meaning)

6-4 词汇表 2

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

代码:

vocabulary = {}

vocabulary['accumulator'] = '累加器'
vocabulary['algorithm'] = '算法'
vocabulary['array'] = '数组'
vocabulary['branch'] = '分支'
vocabulary['breakpoint'] = '断点'

for word, meaning in vocabulary.items():
    print(word + ":" + meaning)

6-5 河流

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

  • 使用循环为每条河流打印一条消息,如“ The Nile runs through Egypt. ”。
  • 使用循环将该字典中每条河流的名字都打印出来。
  • 使用循环将该字典包含的每个国家的名字都打印出来。

代码:

rivers = {'nile': 'egypt', 'amazon river': 'bizarre', 'yangtze river': 'china'}

for key, value in rivers.items():
    print("The " + key.title() + " runs through " + value.title() + ".")
print("\n")
for key in rivers.keys():
    print(key.title())
print("\n")
for value in rivers.values():
    print(value.title())

6-6 调查

在 6.3.1 节编写的程序 favorite_languages.py 中执行以下操作。

  • 创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
  • 遍历这个人员名单,对于已参与调查的人,打印一条消息表示感谢。对于还未参与调查的人,打印一条消息邀请他参与调查。

代码:

favorite_language = {'jen': 'python', 'sarah': 'c', 'edward': 'ruby', 'phil': 'python'}
names = ['jen', 'tim', 'phil', 'candy']

for name in names:
    if name in favorite_language.keys():
        print("Dear " + name.title() + ", Thank you for involving in this search!")
    else:
        print("Hi, " + name.title() + "! Would you want to participate in an interesting search?")

6-7 人

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

代码:

person1 = {'first_name': 'San', 'last_name': 'Zhang', 'age': 22, 'city': "Shenzhen"}
person2 = {'first_name': 'Si', 'last_name': 'Li', 'age': 68, 'city': "Beijing"}
person3 = {'first_name': 'Wu', 'last_name': 'Wang', 'age': 6, 'city': "Shanghai"}
people = [person1, person2, person3]

for person in people:
    name = person['last_name'] + person['first_name']
    print("\nName: " + name)
    print("Age: " + str(person['age']))
    print("City: " + person['city'])

6-8 宠物

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

代码:

pet1 = {'name': 'Alice', 'variety': 'cat', 'owner_name': 'Amy'}
pet2 = {'name': 'Bob', 'variety': 'dog', 'owner_name': 'John'}
pet3 = {'name': 'Candy', 'variety': 'bird', 'owner_name': 'Mike'}
pets = [pet1, pet2, pet3]

for pet in pets:
    print("\nName: " + pet['name'])
    print("Variety: " + pet['variety'])
    print("Owner name: " + pet['owner_name'])

6-9 喜欢的地方

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

代码:

favorite_places = {'alice': ['Beijing', 'Shenzhen'], 'bob': [], 'candy': ['Shanghai']}

for name, places in favorite_places.items():
    if len(places) == 1:
        print("\n" + name.title() + "'s favorite place is: ")
        for place in places:
            print("\t" + place.title())
    elif len(places) > 1:
        print("\n" + name.title() + "'s favorite places are: ")
        for place in places:
            print("\t" + place.title())
    else:
        print("\n" + name.title() + " does not have a favorite place.")

6-10 喜欢的数字

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

代码:

favorite_number = {'Bob': [1, 2, 3], 'Jack': [4, 5, 6], 'Alice': [7, 8, 9]}

for key, values in favorite_number.items():
    print("\n" + key + " like: ")
    for value in values:
        print("\t" + str(value))

6-11 城市

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

代码:

cities = {
    'beijing': {
        'country': 'china',
        'population': '2188.6万',
        'fact': '北京城市的减量发展和大规模的生态环境建设为世界展现了一座高品质绿色宜居城市'
    },

    'paris': {
        'country': 'french',
        'population': '224万',
        'fact': '巴黎都会区人口约为1100万,占据全国人口的六分之一'
    },

    'tokyo': {
        'country': 'japan',
        'population': '1350万',
        'fact': '东京是日本首都,位于日本关东平原中部'
    },
}

for city_name, city_info in cities.items():
    print("\nCity name: " + city_name)
    print("\tpopulation: " + city_info['population'])
    print("\tfact: " + city_info['fact'])

6-12 扩展

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

略。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值