day 2 函数的嵌套
1.函数的嵌套 百度百科


2.产品如何运作

3.应用
1)版本1:打印1条线
#1.定义函数
def print_line():
print("-"*50) #2.调用函数
print_line()

2)版本2:打印5条线
#1.定义函数
def print_5_lines():
print("-"*50)
print("-"*50)
print("-"*50)
print("-"*50)
print("-"*50) #2.调用函数
print_5_lines()

3)版本3:嵌套应用
#1.定义函数
def print_line():
print("-"*50) def print_5_lines():
i = 0
while i <= 5:
print_line() #调用函数1
i += 1 #2.调用函数
print_5_lines()
4.作业
要求 :
从键盘获取3个数字
打印3个数的和
函数
我的方法
1)版本1:大框架
#1.定义一个函数
def add():
pass #2.获取用户的输入
num1 = int(input("请输入第1个数:"))
num2 = int(input("请输入第2个数:"))
num3 = int(input("请输入第3个数:")) #3.调用函数,打印结果
add()
2)版本2:我的版本
#1.定义一个函数
def add(a,b,c):
result = a + b + c
return result #2.获取用户的输入
num1 = int(input("请输入第1个数:"))
num2 = int(input("请输入第2个数:"))
num3 = int(input("请输入第3个数:")) #3.调用函数,打印结果
the_add = add(num1,num2,num3)
print(the_add)

3)版本3:优化
正确方法
1)版本1:先写大框架,用到函数在定义
#3.定义函数
def add(a,b,c):
result = a+b+c
print("%s+%s=%s"%(a,b,c)) #1.获取用户的输入
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第2个数:"))
num3 = int(input("请输入第3个数:")) #2.要执行某个函数,完成和
#axxx(num1,num2,num3) add(num1,num2,num3)
2)版本2:再定义一个函数
#3.定义函数
def add(a,b,c): #形参
result = a+b+c
# print("%s+%s=%s"%(a,b,c))
return result #返回值 #B:定义函数
def average(a1,a2,a3): #形式参数,接受参数的
#result = a1+a2+a3
result = add(a1,a2,a3) #实参
result = result/3
print("average=%d"%result) #%s 输入的是3.6666666 #1.获取用户的输入
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第2个数:"))
num3 = int(input("请输入第3个数:")) #2.要执行某个函数,完成和
#axxx(num1,num2,num3)
#add(num1,num2,num3) #A:求出三个数的平均值
#xxxx(num1,num2,num3)
average(num1,num2,num3) # 实参 传递给函数实实在在的参数
3)版本3:定义第3 个函数
#3.定义函数
def add(a,b,c): #形参
result = a+b+c
# print("%s+%s=%s"%(a,b,c))
return result #B:定义函数
def average(a1,a2,a3): #形参
#result = a1+a2+a3
result = add(a1,a2,a3) #实参
result = result/3
# print("average=%d"%result) #%s 输入的是3.6666666
return result #b.定义新函数
def result_2(x,y,z): #形参
# result = x+y+z
#result = result/3
result = average(x,y,z) #实参
result = result**2
print("新的数值是:%d"%result) #1.获取用户的输入
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第2个数:"))
num3 = int(input("请输入第3个数:")) #2.要执行某个函数,完成和
#axxx(num1,num2,num3)
#add(num1,num2,num3) #A:求出三个数的平均值
#xxxx(num1,num2,num3)
#average(num1,num2,num3) #a.执行某个函数,实现3个数平均值的平方
result_2(num1,num2,num3) #实参

day 2 函数的嵌套的更多相关文章
- python中函数的定义,调用,全局变量,局部变量,函数的嵌套使用-初级篇
函数的基本概述 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,可以思考一下如果有某个功能的代码是在多个地方使用的是否可以只写一次?此时的代码该如何定义.先观察以下的案例: ...
- Python入门之函数的嵌套/名称空间/作用域/函数对象/闭包函数
本篇目录: 一.函数嵌套 二.函数名称空间与作用域 三.函数对象 四.闭包函数 ============================================================ ...
- Python基础--函数的嵌套和闭包
一.名称空间和作用域 名称空间:Python所有有关命名的操作都是在操作名称空间,例如变量名,函数名 1.内置名称空间:Python解释器提供好的功能,解释器启动跟着一起启动,是全局作用域 2.全局名 ...
- day12(表达式,推导式,名称空间与作用域,函数的嵌套定义)
一,复习 # 字符串的比较 # -- 按照从左往右比较每一个字符,通过字符对应的ascll进行比较 # print('a' > 'A') #True # print('ac' > 'ab' ...
- python第十三天,函数的嵌套定义,global,nonlocal关键字的使用,闭包及闭包的运算场景,装饰器
今日内容 1. 函数的嵌套定义 2.global,nonlocal关键字 3.闭包及闭包的运用场景 4.装饰器 函数的嵌套定义 1. 概念:在一个函数内部定义另一个函数 2 .为什么要有函数的嵌套定义 ...
- python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义
复习 1. 字符串的比较: 2. 函数的参数:形参与实参 3. 实参的分类:位置实参与关键字实参 4. 形参分类: 1.无值位置形参 2.有值位置形参 3.可变长位置形参 4.有无值关键字形参 5.可 ...
- python13 1.函数的嵌套定义 2.global、nonlocal关键字 3.闭包及闭包的运用场景 4.装饰器
## 复习 '''1.函数对象:函数名 => 存放的是函数的内存地址1)函数名 - 找到的是函数的内存地址2)函数名() - 调用函数 => 函数的返回值 eg:fn()() =&g ...
- python12--字符串的比较 函数的默认值的细节 三元表达式 函数对象 名称空间 作用域 列表与字典的推导式 四则运算 函数的嵌套
复习 1.字符串的比较; 2.函数的参数; ******实参与形参的分类: 3.函数的嵌套调用: # 字符串的比较# -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 ...
- python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用
一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...
- day13函数的嵌套定义,global、nonlocal关键字,闭包及闭包的运用场景,装饰器
复习 ''' 1.函数对象:函数名 => 存放的是函数的内存地址 1)函数名 - 找到的是函数的内存地址 2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => ...
随机推荐
- python with原型
@Python 的 with 语句详解 这篇文章主要介绍了Python 的 with 语句,本文详细讲解了with语句.with语句的历史.with语句的使用例子等,需要的朋友可以参考下 一. ...
- 面向对象的JavaScript --- 封装
面向对象的JavaScript --- 封装 封装 封装的目的是将信息隐藏.一般而言,我们讨论的封装是封装数据和封装实现.真正的封装为更广义的封装,不仅包括封装数据和封装实现,还包括封装类型和封装变化 ...
- 面经:C++篇(持续更新)
一. 左值和右值 L-value中的L指的是Location,表示可寻址.Avalue (computer science)that has an address. R-value中的R指的是Read ...
- Hadoop学习笔记---HDFS
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.HDFS是一个高度容错性的系统,适合部署在廉价的机器上.HDFS能提供高吞吐 ...
- No.3 - CSS transition 和 CSS transform 配合制作动画
课程概述 作业提交截止时间:09-01 任务目的 深度理解掌握 transition-timing-function 以及它的意义 学会配合使用 CSS transform 和CSS transiti ...
- RedHat(小红帽)下 yum用不了的解决办法
由于RedHat是商业版的,通常由于没有注册,导致yum程序无法使用(linux下面,yum是个安装软件的“神器”).此时可用CentOS的地址进行替换.下面将一步步说明如何处理: 一.删除RedHa ...
- Infiniband基本知识
InfiniBand架构是一种支持多并发链接的“转换线缆”技术,在这种技术中,每种链接都可以达到2.5 Gbps的运行速度.这种架构在一个链接的时候速度是500 MB/秒,四个链接的时候速度是2 GB ...
- 浏览器打印不出div背景颜色
在body样式添加 -webkit-print-color-adjust: exact;
- ORACLE NLS_LENGTH_SEMANTICS 参数的用途
NLS_LENGTH_SEMANTICS参数是一个专为创建CHAR和VARCHAR2两种字符型的列时,指定使用的字节长度,还是使用字符长度的定义方式,有byte和char两种值,默认为byte. 当设 ...
- Linux Shell常用技巧(九)
十九. 和系统运行进程相关的Shell命令: 1. 进程监控命令(ps): 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时 ...