news 2026/4/15 18:36:51

python 第八章 练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python 第八章 练习

# 1)消息:编写一个名为display_message()的函数,打印一条消息,指出本章的主题是什么。调用这个函数,确认现实的信息正确无误。

def display_message():

print("This chapter is about functions.")

display_message()

# 2)喜欢的书:编写一个名为favorite_book()的函数,其中包含一个名为title的形参。让这个函数打印一条像下面这样的消息。One of my favorite books is Alice in Wonderland.调用这个函数,并将一本书的书名作为实参传递给它

def favorite_book(title):

print("One of my favorite books is " + title + ".")

favorite_book('Alice in Wonderland')

# 3)T恤:编写一个名为make_shirt()的函数,它接受一个尺码参数和打印 designs 的参数。这个函数应打印一条消息,概述了要制作的 T 恤的尺码和 designs 。先使用 位置实参来调用这个函数,再使用 关键字实参来调用这个函数。

def make_shirt(size,design):

print("The size of the shirt is " + size + " and the design is " + design + ".")

make_shirt('Large','Cool')

make_shirt(design='Cool',size='Large')

# 4)大号T恤:修改 make_shirt()函数,使其在默认情况下制作一件印有“I LOVE Python”的 大号T 恤。调用这个函数分别制作一件印有默认字样的大号体恤,一件印有默认字样的中号T恤,以及一件印有其他字样的T恤。

def make_shirt(size='Large',design='I LOVE Python'):

print("The size of the shirt is " + size + " and the design is " + design + ".")

make_shirt()

make_shirt(size='Medium')

make_shirt(size='Small',design='Cool')

# 5)城市:编写一个名为describe_city()的函数,它接受一个城市的名称,以及该城市所属的国家。这个函数应打印一个简单的句子,如Reykjavik是冰岛。给用于存储国家的形参指定默认值。为三座不同的城市调用这个函数,其中至少有一座城市不属于默认的国家。

def describe_city(city,country='China'):

print(city + " is in " + country + ".")

describe_city('Shanghai')

describe_city('Beijing')

describe_city('London')

# 6)城市名:编写一个名为city_country()的函数,它接受城市名和国家名。这个函数应返回一个格式为 City, Country 的字符串。至少使用三个城市至国家对调用这个函数,并打印它返回的值

def city_country(city,country):

return city + ", " + country

print(city_country('Shanghai','China'))

print(city_country('Beijing','China'))

print(city_country('London','England'))

# 7)专辑:编写一个名为make_album()的函数,它构建一个描述专辑的字典。这个函数至少需要接受一个专辑名和专辑的作者名。它可能接受一个额外的参数,如包含的专辑数。调用这个函数,并打印返回的字典。

def make_album(album_name,album_author,album_num=0):

album = {'album_name':album_name,'album_author':album_author}

if album_num:

album['album_num'] = album_num

return album

print(make_album('Album1','Author1'))

print(make_album('Album2','Author2',10))

# 8)消息:创建一个列表,其中包含一系列简短的文本消息。将这个列表传递给一个名为show_messages()的函数,这个函数会打印列表中的每条文本消息。

def show_messages(messages):

for i in messages:

print(i)

messages = ['message1','message2','message3']

show_messages(messages)

# 9)发送消息:在为第八题编写的程序中,编写一个send_messages()函数,将每条消息都打印出来并移到一个名为sent_messages的列表中。调用show_messages()函数,再将两个列表都打印出来,确认把消息移到了正确的列表中。

def show_messages(messages):

for i in messages:

print(i)

def send_messages(messages):

sent_messages = []

while messages:

message = messages.pop()

print(message)

sent_messages.append(message)

return sent_messages

messages = ['message1','message2','message3']

sent_messages = send_messages(messages)

show_messages(messages)

show_messages(sent_messages)

# 10)消息归档:修改第九题编写的程序,在调用函数send_messages()时,向它传递消息列表的副本。调用send_messages()函数后,将两个列表都打印出来,确认原始列表保留了所有的消息。

def show_messages(messages):

for i in messages:

print(i)

def send_messages(messages):

sent_messages = []

while messages:

message = messages.pop()

print(message)

sent_messages.append(message)

return sent_messages

messages = ['message1','message2','message3']

sent_messages = send_messages(messages[:])

show_messages(messages)

# 11)三明治:编写一个函数,他接受顾客要在三明治中添加的一系列食材。这个函数只有一个形参(它收集函数调用中提供的所有食材),并打印一条消息,对顾客点的三明治进行概述。调用这个函数三次,每次都提供不同数量的实参

def make_sandwich(*toppings):

print("Making a sandwich with the following toppings:")

for topping in toppings:

print("- " + topping)

make_sandwich('ham')

make_sandwich('peanut butter', 'jelly')

make_sandwich('chicken', 'lettuce', 'mayo')

# 12)汽车:编写一个函数,将一辆汽车的信息存储在字典中。这个函数总是接受制造商和型号,还接受任意数量的关键字实参。在调用这个函数时,提供必不可少的信息,以及两个名值对,如颜色和选装配件。这个函数必须能够像下面这样调用:

# car=make_car('subaru','outback',color='blue',tow_package=True),打印返回的字典,确认正确地处理了所有的信息

def make_car(manufacturer,model,**car_info):

car_info['manufacturer'] = manufacturer

car_info['model'] = model

return car_info

car = make_car('subaru','outback',color='blue',tow_package=True)

print(car)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 18:32:21

Markdown换行与段落控制排版细节

Markdown换行与段落控制排版细节 在技术文档、博客文章或代码仓库的 README 文件中,你是否曾遇到过这样的尴尬:明明写好了文字和图片说明,发布后却发现所有内容挤成一团?图文之间毫无间距,操作步骤连成一片&#xff0c…

作者头像 李华
网站建设 2026/4/14 18:17:31

BFCP协议:多媒体会议资源控制的核心引擎

目录 一、协议起源与设计定位 二、协议架构与核心组件 三、技术优势与行业影响 四、未来演进方向 在远程协作与混合办公场景日益普及的今天,视频会议系统已成为企业沟通的核心基础设施。然而,当多个参会者同时尝试共享屏幕、操作文档或控制视频流时&…

作者头像 李华
网站建设 2026/4/8 20:48:39

Gin框架基础篇009_日志中间件详解

文章目录1. Gin内置日志中间件1.1. 默认日志中间件1.2. 禁用debug日志1.3. 控制日志颜色1.4. 自定义日志中间件1.4.1. 日志配置项1.4.2. 自定义方法1.4.3. 自定义日志格式示例1.4.4. 自定义日志输出位置示例2. 集成第三方日志插件2.1. 集成 logrus2.2 集成 zap在开发Web应用时&…

作者头像 李华
网站建设 2026/4/13 13:21:09

PyTorch模型剪枝Pruning压缩技术实践

PyTorch模型剪枝Pruning压缩技术实践 在智能设备日益普及的今天,我们越来越频繁地面临一个现实问题:如何让那些动辄上亿参数的深度学习模型,在手机、嵌入式摄像头甚至可穿戴设备上流畅运行?训练时用着八卡A100集群的“巨无霸”模型…

作者头像 李华
网站建设 2026/4/10 16:48:56

Markdown嵌入HTML增强排版灵活性

Markdown嵌入HTML增强排版灵活性 在技术文档日益成为产品核心体验一部分的今天,一个清晰、美观且结构合理的说明页面,往往能显著降低用户的学习成本。我们常常用Markdown来撰写这些文档——它简洁、易读、版本可控,几乎是开发者写笔记、做记…

作者头像 李华
网站建设 2026/4/15 13:37:08

Conda list查看已安装PyTorch包清单

Conda list 查看已安装 PyTorch 包清单 在现代深度学习项目中,环境管理往往比模型设计更让人头疼。你是否曾遇到过这样的场景:同事说“代码在我机器上能跑”,但你拉下代码后却报错 CUDA not available?或者训练脚本突然提示 torch…

作者头像 李华