news 2026/4/18 11:23:43

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/18 8:08:09

PyTorch学习率调度器Scheduler使用详解

PyTorch学习率调度器Scheduler使用详解 在深度学习的实践中,一个看似微小却影响深远的超参数——学习率,往往决定了模型能否高效收敛、是否能够跳出局部最优,甚至最终泛化性能的好坏。你有没有遇到过这样的情况:训练初期损失下降飞…

作者头像 李华
网站建设 2026/4/18 5:43:37

Spring AOP—基于XML的AOP实现

查看全文:https://www.longkui.site/program/development/spring-mvcxmlaop/7255/ 一、创建maven项目 打开IDEA,点击“File—>New—>Project” 我们 选择“Maven”项目,然后点击“Next” 改一下项目名称,然后点击“Finish”…

作者头像 李华
网站建设 2026/4/18 5:40:22

骁龙大赛-技术分享第6期——直播问题答疑整理(创达)

Q1:在 QAI AppBuilder 上部署 DDColor 时,常见的性能瓶颈在哪里?有哪些优先级最高的优化手段? A1: 主要的性能瓶颈出现在 CPU 的前处理与后处理环节。前处理中包含大量 OpenCV 操作,例如颜色空间转换、图像…

作者头像 李华
网站建设 2026/4/17 13:02:40

Linux字符设备驱动

字符驱动设备 字符设备架构在 Linux 中使用 cdev 结构体表示一个字符设备,cdev中最重要的有设备号dev_t和file_operations这两个结构体。file_operations中包含了字符设备的操作函数,其中比较重要的有的 read(),write(),ioctl(), …

作者头像 李华
网站建设 2026/4/18 0:20:03

Linux驱动-设备号

主次设备号 设备号是什么 Linux 中每个设备都有一个设备号,设备号由主设备号和次设备号两部分组成。主设备号用于区分设备的类型,次设备号用于区分同一类型的多个设备(对应硬件实体)。 相同硬件设备,相同驱动。一般其主…

作者头像 李华
网站建设 2026/4/18 5:39:22

java计算机毕业设计校园闲置二手交易网站 高校跳蚤市场智能交易平台 校园绿色循环物品交换系统

计算机毕业设计校园闲置二手交易网站4g1pt9(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。毕业季搬家季,楼道里成堆的台灯、教材、球拍、小风扇眼看就要被宿管扔进垃…

作者头像 李华