Python入门到实践(第二版)作业 Part.3

2023-11-03 21:40

本文主要是介绍Python入门到实践(第二版)作业 Part.3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

friend = {'surname':'doy','name':'chou','age':26,'city':'china lanzhou',}
print(f"{friend['surname']}")
print(f"{friend['name']}")
print(f"{friend['age']}")
print(f"{friend['city']}")

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

friend = {'a':8,'b':3,'c':5,'doychou':7,}
print(f"a,you like number is {friend['a']}?")
print(f"doychou,you like number is {friend['doychou']}?")

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

  • 想出你在前面学过的5个编程术语,将其用作词汇表中的键,并将它们的含 义作为值存储在词汇表中。
  • 以整洁的方式打印每个术语及其含义。为此,可先打印术语,在它后面加 上一个冒号,再打印其含义;也可在一行打印术语,再使用换行符(\n ) 插入一个空行,然后在下一行以缩进的方式打印其含义
term = {'常量':'永远不会改变的值。','布尔值':'数据类型为bool的对象,值为True或False。','浮点数':'数据类型为float的对象,值为小数的数值。','整型数据':'数据类型为int的对象,值为整数的数值。','数据类型':'将数据划分为不同的类别,数据所属的类别,即为数据类型。',}
print(f"常量:\n{term['常量']}")
print(f"布尔值:\n{term['布尔值']}")
print(f"浮点数:\n{term['浮点数']}")
print(f"整型数据:\n{term['整型数据']}")
print(f"数据类型:\n{term['数据类型']}")

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

term = {'常量':'永远不会改变的值。','布尔值':'数据类型为bool的对象,值为True或False。','浮点数':'数据类型为float的对象,值为小数的数值。','整型数据':'数据类型为int的对象,值为整数的数值。','数据类型':'将数据划分为不同的类别,数据所属的类别,即为数据类型。',}
for a,b in term.items():print(f"{a}:\n{b}")

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

  • 使用循环为每条河流打印一条消息,下面是一个例子。

The Nile runs through Egypt.

  • 使用循环将该字典中每条河流的名字打印出来。
  • 使用循环将该字典包含的每个国家的名字打印出来。
streams = {'nile':'egypt','huanghe':'china','rhine':'switzerland'}
for stream,country in streams.items():print(f"The {stream.title()} runs through {country.title()}.")
for stream in streams:print(stream.title())
for country in streams.values():print(country.title())

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

  • 创建一个应该会接受调查的人员名单,其中有些人已包含在字典中,而其他人未包含在字典中。
  • 遍历这个人员名单。对于已参与调查的人,打印一条消息表示感谢;对于还未参与调查的人,打印一条消息邀请他参加。
favorite_languages = {'jen':'python','sarah':'c','edward':'ruby','phil':'python'}
investigators = ['doychou','jen','yilanchen']
for investigator in favorite_languages.keys():if investigator in investigators:print(f"{investigator},感谢接受调查!")else:print(f"{investigator},你到底来不来!")

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

people = {'dchou':{'surname':'doy','name':'chou','age':26,'city':'china lanzhou',},'cyilan':{'surname':'yilan','name':'chen','age':21,'city':'china sichuan',},'myun':{'surname':'yun','name':'ma','age':53,'city':'china hangzhou',}
}
for a,b in people.items():print(f"{a.title()}的信息如下:")full_name = f"{b['surname']} {b['name']}"print(f"姓名:{full_name.title()}")print(f"年龄:{b['age']}")print(f"居住地:{b['city'].title()}")

结果:

练习6-8:宠物  创建多个表示宠物的字典,每个字典都包含宠物的类型及其 主人的名字。将这些字典存储在一个名为pets 的列表中,再遍历该列表,并 将有关每个宠物的所有信息都打印出来。

pets = {'pet_a':{'leixing':'哺乳类','pet_master':'陈漪澜',},'pet_b':{'leixing':'鸟类','pet_master':'周多伊',}
}
for k_name,v_info in pets.items():print(f"{v_info['pet_master']}的宠物为{v_info['leixing']}!")

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

favorite_places = {'doy':['shenzhen','Paris'],'yilan':['yunnan','zigong','hainan','gansu'],'ada':['shanghai','xinjiang'],
}for k_name,v_infos in favorite_places.items():output_str = f"The places that {k_name.title()} wants to go to most are: "for v_info in v_infos:output_str += v_info + ","print(output_str[:-1] + '?')

 

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

friend = {'a':['8','10'],'b':['3'],'c':['6'],'doychou':['5','7']}
for k_name,v_infos in friend.items():out_srt = f"{k_name.title()} you like number is:"for v_info in v_infos:out_srt += v_info + "and"print(out_srt[:-3] + "?")

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

cities = {'lanzhou':{'country':'china','population':'100','fact':'very good',},'shenzhen':{'country':'b','population':'95','fact':'very good',},'hangzhou':{'country':'d','population':'25','fact':'very good',}
}
for k_name,v_infos in cities.items():print(f"{k_name.title()}来自{v_infos['country']},有{v_infos['population']}人,{v_infos['fact']}!")

这篇关于Python入门到实践(第二版)作业 Part.3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/341029

相关文章

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at