理解:对于我而言,函数中任意数量参数和任意数量的关键字实参是比较陌生的。但只要弄清楚任意数量参数相当于元组,任意数量的关键字实参相当于字典,以及两者的表示方式、使用方法,就不难区别。

7-310的整数倍 :让用户输入一个数字,并指出这个数字是否是10的整数倍。

num = int(input("Please input an integer to verify if it can be divided exactly by 10:"))
if num%10==0:print("Yes!")
else:print("No!")

7-5电影票 :有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费;3~12岁的观众为10美元;超过12岁的观众为15美元。请编写一个循环,在其中询问用户的年龄,并指出其票价。

·使用变量active 来控制循环结束的时机。

prompt = "Hello, please input the age of customer to get know the corresponding price for him. You can input 'quit' to end."
print(prompt)
active = True
while active:str = input()if str == 'quit':active = Falseprint("Bye~")elif int(str) < 3:print("Free!")elif int(str) <= 12 and int(str) >= 3:print("10 dollars.")else:print("15 dollars.")

·使用break 语句在用户输入’quit’ 时退出循环。

prompt = "Hello, please input the age of customer to get know the corresponding price for him. You can input 'quit' to end."
print(prompt)
while True:str = input()if str == 'quit':print("Bye~")breakage = int(str)if age < 3:print("Free!")elif age <= 12 and age >= 3:print("10 dollars.")else:print("15 dollars.")

结果:

Hello, please input the age of customer to get know the corresponding price for him. You can input 'quit' to end.
12
10 dollars.
5
10 dollars.
13
15 dollars.
2
Free!
quit
Bye~

7-8熟食店 :创建一个名为sandwich_orders 的列表,在其中包含各种三明治的名字;再创建一个名为finished_sandwiches的空列表。遍历列表sandwich_orders ,对于其中的每种三明治,都打印一条消息,如I made your tuna sandwich ,并将其移到列表finished_sandwiches。所有三明治都制作好后,打印一条消息,将这些三明治列出来。

sandwich_orders = ["Apple","chicken","tuna"]
finished_sandwiches = []
for sandwich in sandwich_orders:print("I made your " + sandwich + " sandwich.")finished_sandwiches.append(sandwich)
print("\nWe have these sandwiches now.")
for sandwich in finished_sandwiches:print(sandwich + " sandwich.")

结果:

I made your Apple sandwich.
I made your chicken sandwich.
I made your tuna sandwich.We have these sandwiches now.
Apple sandwich.
chicken sandwich.
tuna sandwich.

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

def favorite_book(title):print("One of my favorite book is " + title + '.')favorite_book("Moby Dick")

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

def describe_city(city, country='China'):print(city + ' is in ' + country + '.')describe_city('Guangzhou')
describe_city('Shaoyang')
describe_city('New York', 'the United States')

结果:

Guangzhou is in China.
Shaoyang is in China.
New York is in the United States.

8-7专辑 :编写一个名为make_album() 的函数,它创建一个描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。

def make_album(name, title):album = {}album['name'] = namealbum['title'] = titlereturn albuma = make_album("Adele", '21')
b = make_album("Taylor Swift", 'Reputation')
c = make_album("Leslie Cheung", '我')
print(a)
print(b)
print(c)

结果:

{'name': 'Adele', 'title': '21'}
{'name': 'Taylor Swift', 'title': 'Reputation'}
{'name': 'Leslie Cheung', 'title': '我'}

给函数make_album() 添加一个可选形参,以便能够存储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数,就将这个值添加到表示专辑的字典中。调用这个函数,并至少在一次调用中指定专辑包含的歌曲数。

def make_album(name, title, number = ''):album = {}album['name'] = namealbum['title'] = titleif number:album['number'] = int(number)return albuma = make_album("Adele", '21', 14)
b = make_album("Taylor Swift", 'Reputation', 9)
c = make_album("Leslie Cheung", '我')
print(a)
print(b)
print(c)

结果:

{'name': 'Adele', 'title': '21', 'number': 14}
{'name': 'Taylor Swift', 'title': 'Reputation', 'number': 9}
{'name': 'Leslie Cheung', 'title': '我'}


8-9魔术师 :创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数,这个函数打印列表中每个魔术师的名字。

def show_magicians(l):for name in l:print(name)list = ['A', 'B', 'C', 'D']
show_magicians(list)


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

def pizza(*toppings):print("A pizza with the following toppings:")for topping in toppings:print("-"+topping)print('\n')pizza("pepper",'chicken','mushroom')
pizza('cheese','beef')
pizza('green peppers','cheese','chicken','beef')

结果:

A pizza with the following toppings:
-pepper
-chicken
-mushroomA pizza with the following toppings:
-cheese
-beefA pizza with the following toppings:
-green peppers
-cheese
-chicken
-beef

高级编程技术作业(七、八)相关推荐

  1. 【高级编程技术作业】第六周

    11-1 11-2 11-3 转载于:https://www.cnblogs.com/dhlee/p/8805933.html

  2. 鼠标绘图 c语言,c语言高级编程技术教程 图形显示方式与鼠标输入.doc

    c语言高级编程技术教程 图形显示方式与鼠标输入 c语言高级编程技术教程 图形显示方式和鼠标输入 图形显示方式和鼠标输入 问题的提出编写程序,使用鼠标进行如下操作:按住鼠标器的任意键并移动,十字光 标将 ...

  3. 从零开始学习音视频编程技术(七) FFMPEG Qt视频播放器之SDL的使用

    从零开始学习音视频编程技术(七) FFMPEG Qt视频播放器之SDL的使用 原文地址:http://blog.yundiantech.com/?log=blog&id=10 前面介绍了使用F ...

  4. [SYSU][大二下] 高级编程技术HW Week-2 Lecture-2

    Question 教材中课后的练习,4-1到4-15,选一些写到你的博客上 Answer ''' SYSU - [专选]高级编程技术 - Week2, Lecture2 HW by Duan 2018 ...

  5. 解读经典《C#高级编程》第七版 Page79-93.对象和类型.Chapter3

    前言 本篇我们继续讲解本章其余的部分:构造函数.只读字段.匿名类型.结构详解.部分类.静态类.Object类.扩展方法,等. 01 类 构造函数 构造函数是一种特殊的方法: 与类同名 没有返回值,甚至 ...

  6. 解读经典《C#高级编程》第七版 Page32-38.核心C#.Chapter2

    前言 接下来讲讲预定义数据类型.关于数据类型,其实是非常值得透彻研究的. 01 预定义数据类型 值类型和引用类型 C#将把数据类型分为两种,值类型和引用类型,值类型存储在堆栈上,引用类型存储在托管堆上 ...

  7. ole2高级编程技术 pdf_21天快速掌握Python语言,《21天学通Python》PDF版送给你去学...

    Python的学习书籍小编看过很多,但是这本<21天学通Python>真的是堪称极品! 本书的作者团队成员为一线开发工程师.资深编程专家或专业培训师,在编程开发方面有着丰富的经验,并已出版 ...

  8. ole2高级编程技术 pdf_别不信,21天就可以学会python,《21天学通Python》pdf免费领取...

    python的学习书籍小编看过很多,但是这本<21天学通python>真的是堪称极品!本书的作者团队成员为一线开发工程师.资深编程专家或专业培训师,在编程开发方面有着丰富的经验,并已出版过 ...

  9. 第5周作业 #高级编程技术

    - 第9章 - 9-1 餐馆 - 9-2 三家餐馆 - 9-3 用户 - 9-4 就餐人数 - 9-5 尝试登录次数 - 9-6 冰淇淋小店 - 9-7 管理员 - 9-8 权限 - 9-9 电瓶升级 ...

最新文章

  1. Zookeeper分布式一致性原理(二):一致性协议
  2. python dlib学习(二):人脸特征点标定
  3. 使用HBase Client访问阿里云NoSQL数据库表格存储
  4. 偶然发现一个大佬写的 React 脚手架,叫Moderate, 用起来很方便
  5. Maven(3)---Maven POM
  6. python贪心算法
  7. 网易公开课 计算机专业课程
  8. 知乎App加密流量分析初探
  9. Windows 2016 server NVIDIA cuda toolkit11.3 pytorch-gpu 踩坑教程
  10. 好玩的海外游戏集结,有没有你玩过的?
  11. TGRS2020/云检测:Deep Matting for Cloud Detection in Remote Sensing Images深度抠图在遥感图像云检测中的应用
  12. Latex学习笔记:三线表与表线控制
  13. Android如何计算View的深度
  14. 结缘OpenStack:运营商NFV部署加速 要开源也要保障
  15. unity EZ Replay Manager 1.53
  16. Java消息队列与JMS的诞生
  17. 计算思维与数据科学 K-Means聚类模型信用卡用户风险评估 python连接数据库来处理数据
  18. react: 动态设置ant-design/icons图标
  19. 《社会调查数据管理——基于Stata 14管理CGSS数据》一2.2 数据管理的工作标准...
  20. Python自动生成表情包,从此斗图无敌手!

热门文章

  1. 出海的中国企业,为什么有80%都选择了这家云服务商?
  2. 自动生成html基本结构,如何创建网页html?
  3. 僵尸计算机,第二课 事件-僵尸[计算机科学入门(Minecraft)]
  4. oracle查询备份路径,Oracle备份与恢复案例
  5. Segd 2.1格式注释
  6. Ubuntu12.10 下安装搜狗输入法、Google拼音、双拼、五笔输入法
  7. conv2d 公式_理解keras中conv2d层的输出形状
  8. [电脑问题]如何把3.5英寸的硬盘安装到没有硬盘架的新电脑
  9. 37 | 高速缓存(上):“4毫秒”究竟值多少钱?
  10. 喜报:安科瑞电能质量在线监测装置取得国家电网检测报告