8-1 消息 编写一个名为display_message() 的函数,它打印一个句子,指出你在本章学的是什么。调用这个函数,确认显示的消息正确无误。

def  display_message():print('function')
display_message()

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

def favorite_book():title = 'Alice'print(f'One of my favorite books is {title} in Wonderland.')favorite_book()

Traceback 能指出实参错误

8-3 T恤 编写一个名为make_shirt() 的函数,它接受一个尺码以及要印到T恤上的字样。这个函数应打印一个句子,概要地说明T恤的尺码和字样。
使用位置实参调用该函数来制作一件T恤,再使用关键字实参来调用这个函数。

def make_shirt(size,sample):print(f'The shirt size is {size} and type is {sample}')
make_shirt("M","YYDS")

8-4 大号T恤 修改函数make_shirt() ,使其在默认情况下制作一件印有“I love Python”字样的大号T恤。调用这个函数来制作:一件印有默认字样的大号T恤,一件印有默认字样的中号T恤,以及一件印有其他字样的T恤(尺码无关紧要)。

def make_shirt(size1 = 'L',sample1 = 'I love Python'):print(f'The shirt size is {size1} and type is {sample1}')
make_shirt()
make_shirt(size1 = 'M')
make_shirt(sample1 = 'Hello')

8-5 城市 编写一个名为describe_city() 的函数,它接受一座城市的名字以及该城市所属的国家。这个函数应打印一个简单的句子,下面是一个例子。
Reykjavik is in Iceland.
给用于存储国家的形参指定默认值。为三座不同的城市调用这个函数,且其中至少有一座城市不属于默认国家。

def describe_city(city,country = 'Japan'):print(f'{city} is in {country}')
describe_city(city = 'Tokyo')
describe_city(city = 'NewYork',country = 'Amercia')
describe_city(city = 'Osaka')

8-6 城市名 编写一个名为city_country()的函数,它接受城市的名称及其所属的国家。这个函数应返回一个格式类似于下面的字符串:
“Santiago, Chile”
至少使用三个城市国家对来调用这个函数,并打印它返回的值。

def city_country(city,country):all = f'{city},{country}'return all.title()
print(city_country('tokyo','japan'))
print(city_country('santiago','chile'))
c1 = city_country('beijing','china')
print(c1)

8-7 专辑 编写一个名为make_album() 的函数,它创建一个描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。
给函数make_album() 添加一个默认值为None 的可选形参,以便存储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数,就将该值添加到表示专辑的字典中。调用这个函数,并至少在一次调用中指定专辑包含的歌曲数。

def make_album(singer,album,song= ""):# 它创建一个描述音乐专辑的字典album1 = {'singer':singer,'album':album,}if song:# 放进album1列表中album1['song'] = songreturn album1
a1 = make_album('Taylor','22','22')
a2 = make_album('keyakizaka','silentmajority')
a3 = make_album('arashi','夏疾风')
print(a1)
print(a2)
print(a3)

8-8 用户的专辑 在为完成练习8-7编写的程序中,编写一个while 循环,让用户输入专辑的歌手和名称。获取这些信息后,使用它们来调用函数make_album() 并将创建的字典印出来。在这个while 循环中,务必提供退出途径。

while True:singer = input('please input singer:')album = input('please input album:')# 创建的字典印出来album2 = {singer,album}print(album2)problem = input('Do u want to quit?')if problem == 'Y':break

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

def show_messages(text):for a in text:msg = f'{a} is a message!'print(msg)
text1 = ['aaa','bbb','ccc']
print_message = show_messages(text1)

8-10 发送消息 在你为完成练习8-9而编写的程序中,编写一个名为send_messages()的函数,将每条消息都打印出来并移到一个名为sent_messages 的列表中。调用函数send_messages(),再将两个列表都打印出来,确认正确地移动了消息。

def show_messages(show_msg):for msg in show_msg:print(msg)def send_messages(show_msg,send_msg):while show_msg:current_msg = show_msg.pop()print(f'Sent_messages:{current_msg}')send_msg.append(current_msg)show_msg = ['abc','cba','nba']
send_msg = []show_messages(show_msg)
send_messages(show_msg,send_msg)

8-11 消息归档 修改你为完成练习8-10而编写的程序,在调用函数send_messages() 时,向它传递消息列表的副本。调用函数send_messages()后,将两个列表都打印出来,确认保留了原始列表中的消息。

def show_messages(show_msg):for msg in show_msg:print(msg)def send_messages(show_msg,send_msg):while show_msg:current_msg = show_msg.pop()print(f'Sent_messages:{current_msg}')send_msg.append(current_msg)show_msg = ['llf','fq','chy']
send_msg = []show_messages(show_msg)
send_messages(show_msg[:],send_msg)

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

def  sandwichs(*foods):print(foods)sandwichs('meat','egg','bread')

8-13 用户简介 复制前面的程序user_profile.py,在其中调用build_profile() 来创建有关你的简介。调用这个函数时,指定你的名和姓,以及三个描述你的键值对。

def buile_profile(first,last,**user_info):# dic1 = {}user_info['first_name'] = firstuser_info['last_name'] = last# for key,value in user_info.items():#   dic1[key] = value# return dic1return user_info
user_profile = buile_profile('albert', 'einstein',location = 'princeton',field = 'physics',hobby = 'swimming')
print(user_profile)

8-14 汽车 编写一个函数,将一辆汽车的信息存储在字典中。这个函数总是接受制造商和型号,还接受任意数量的关键字实参。这样调用该函数:提供必不可少的信息,以及两个名称值对,如颜色和选装配件。这个函数必须能够像下面这样进行调用:
car = make_car(‘subaru’, ‘outback’, color=‘blue’, tow_package=True)
打印返回的字典,确认正确地处理了所有的信息。

def make_car(producer,car_type,**car_msg):car_msg['producer'] = producercar_msg['type'] = car_typereturn car_msgcar = make_car('subaru', 'outback', color='blue', tow_package=True)
print(car)

8-15 打印模型 将示例printing_models.py中的函数放在一个名为printing_functions.py的文件中。在printing_models.py的开头编写一条import 语句,并修改该文件以使用导入的函数。

from printing_functions import *
print_models(unprinted_designs, completed_models)
show_completed_models(completed_models)

8-16 导入 选择一个你编写的且只包含一个函数的程序,将该函数放在另一个文件中。在主程序文件中,使用下述各种方法导入这个函数,再调用它:

import printing_functions
from printing_functions import print_models
from printing_functions import print_models as pm
import printing_functions as pm
from printing_functions import *

《Python编程从入门到实践 第二版》第八章练习相关推荐

  1. 《Python编程从入门到实践 第二版》第十八章练习

    18-2:简短的条目 当前,Django在管理网站或shell中显示Entry 实例时,模型Entry 的方法__str__() 都在其末尾加上省略号.请在方法__str__() 中添加一条if 语句 ...

  2. python编程从入门到实践第二版答案(第三章)

    3-1 names = ['day', 'lxd', 'wzy', 'zzz'] print(names[0]) print(names[1]) print(names[2]) print(names ...

  3. 《Python编程从入门到实践 第二版》第九章练习

    9-1 餐馆 创建一个名为Restaurant 的类,为其方法__init__() 设置属性restaurant_name 和cuisine_type.创建一个名为describe_restauran ...

  4. 《Python编程从入门到实践 第二版》第七章练习

    7-1 汽车租赁 编写一个程序,询问用户要租赁什么样的汽车,并打印一条消息,下面是一个例子. Let me see if I can find you a Subaru. car = input('W ...

  5. 学习笔记 | Python编程从入门到实践 | 第二章变量和简单数据类型

    前言 小白记录自己学习python的学习贴,如有错误请大佬指正 第二章是变量和简单数据类型的学习. 关于变量 在程序中随时可以修改变量的值,python将始终记录变量的最新值 变量名只能包含字母.数字 ...

  6. Python编程:从入门到实践-第二章:变量和简单数据(语法)

    #2-1 简单消息:将一条消息存储到变量中,再将其打印出来. bian='Hello Python' print(bian) #2-2 多条简单消息:将一条消息存储到变量中,将其打印出来:再将变量的值 ...

  7. cmd 系统找不到指定路径的问题(Python编程从入门到实践1.5.1踩坑)

    对于系统找不到指定路径的问题 大同小异 啊 我是一名Python初学者 在学习Python编程从入门到实践(第二版) 1.5.1在Windows系统中从终端运行Python程序 遇到了这种问题 我是按 ...

  8. python编程从入门到实践第九章——类

    相关文章链接: python编程从入门到实践第二章--变量和简单数据类型 python编程从入门到实践第三章--列表简介 python编程从入门到实践第四章--操作列表 python编程从入门到实践第 ...

  9. Python编程从入门到实践(第二版)课后习题自写代码

    Python编程从入门到实践(第二版)课后习题自写代码 第八章 函数 最近自学的python,动手做了一下课后习题,错误也许会有,和大家一起探讨.多多指教! 8.3 返回值 动手试一试代码片 &quo ...

  10. 读书笔记——《Python编程从入门到实践》第二章

    读书笔记--<Python编程从入门到实践>第二章 读书笔记--<Python编程从入门到实践>第二章 变量 如何使用变量 如何规范变量命名 字符串 字符串是什么 如何修改字符 ...

最新文章

  1. 多线程、并发及线程的基础问题
  2. JVM调优:jdk1.8的所有-X参数
  3. Flutter BottomNavigationBar 三分钟实现一个常用APP首页底部导航菜单栏
  4. oracle awr报告生成_oracle11g awr报告分析—WORKLOAD REPOSITORY report
  5. comet学习(三)cometd心跳机制
  6. Java--继承(三)
  7. 项目的升级-给RemoveButterKnife插件增加新功能
  8. ios低版本、微信浏览器低版本 不能使用的js语法总结
  9. 辞旧迎新又一年(18年年终总结)
  10. 计算机应用基础自主学习,计算机应用基础教学中如何培养学生的自主学习能力...
  11. 沃尔夫冈·阿玛多伊斯·莫扎特
  12. Modbus转Modbus TCP的几种姿势
  13. c语言创意程序题目,成都scratch趣味编程100例
  14. clear both
  15. 受邀参加2009中国电子商务创新发展高峰论坛
  16. 用c语言做RFID读卡程序,2.STM32读卡号读写数据代码示例3.0(C语言)
  17. Prometheus和Grafana告警服务创建与对接腾讯云短信告警平台(prometheus_alert)
  18. 无人机巡检是什么?无人机如何实现自动巡检?
  19. 图像归一化 normalization
  20. 应届毕业生程序员该去甲方公司,还是外包公司?

热门文章

  1. linux wrf 系统_linux wrf
  2. python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r...
  3. 脑膜瘤论文阅读(一)
  4. SS00011.elasticsearch——|HadoopElasticSearch集中式日志分析系统.v11|——|Elasticsearch.v11|
  5. iOS系统架构和常用框架
  6. 测试工程师进阶之测试用例发散思维(二)
  7. 红米8.0系统手机(亲测有效)激活xposed框架的经验
  8. Android无网络传输文件之WifiP2P
  9. CapstoneCS5212|CapstoneCS5218|DP转VGA1080P方案设计| DP转HDMI4K 30Hz方案设计
  10. 为什么要研究《双目结构光》?