函数
定义
通俗说法:就是把经常使用的代码块包装起来!
代码记录
说明以注释的形式给出
#函数的定义
def printinfo():
print("--------------------------")
print(" 人生苦短,我用python ")
print("--------------------------")
#函数的调用
printinfo()
printinfo()
#带参数的函数
def add2num(a,b):
c=a+b
print(c)
#调用
add2num(11,22)
#带返回值的函数
def add2num(a,b): #傻瓜式问题,怎么能加双引号呢?
return a+b
#通过return来返回运算结果
result = add2num(11,22)
print(result)
print(add2num(11,22))
#返回多个值的函数
def divid(a,b):
shang = a//b
yushu = a%b
return shang,yushu
sh,yu = divid(5,2) #需要使用多值来保存返回的内容
print("商:%d,余数:%d"%(sh,yu))
作业
解答
#定义函数
def line(a):
print("-"*a)
#1.调用函数
line(50)
#2.自定义长度
a = int(input("请输入横线长度:"))
#一定要记得转换为int型,否则会报错
line(a)
一开始好像误解了,重新写了一下
#定义函数
def line():
print("-"*50)
#1.调用函数
line()
#2.自定义长度
def line1():
a = int(input("请输入横线长度:"))
i = 0
while i<a:
line()
i+=1
line1()
#3.定义求和函数
def sum(a,b,c):
return a+b+c
#调用求和函数
d=sum(1,2,3)
print(d)
#4.定义求三个数平均值的函数
def average(a,b,c):
d=sum(a,b,c)/3
return d
d=average(1,2,3)
print(d)
亲测代码无误,可以运行~
小生不才,可能有更简单的做法叭
下面是老师的解答
#1、2题
def line():
print("-"*30)
#line()
def lines(num):#这里要用循环,多思考-用户输入非数值?
i = 0
while i<num:
line()
i+=1
lines(3)
#3、4题
def sum3(a,b,c):
return a+b+c
print(sum3(10,20,30))
def average3(a,b,c):
sum3Result = sum3(10,20,30)
aveResult = sum3Result/3
return aveResult
result = average3(10,20,30)
print("平均值为:%d"%result)
补充内容——变量
局部变量
#全局变量和局部变量
def test1(): #局部变量
a = 300
print("test1---------修改前:a=%d"%a)
a = 100
print("test1---------修改后:a=%d"%a)
def test2():
a = 500 #不同的函数可以定义相同的名字,彼此无关
print("test2---------a=%d"%a)
test1()
test2()
全局变量
#全局变量
a = 100
def test1():
print(a)
def test2():
print(a) #调用全局变量
test1()
test2()
全局变量与局部变量重名
#全局变量与局部变量重名了,可以吗?
a = 100
def test1(): #局部变量优先使用
a = 300
print("test1---------修改前:a=%d"%a)
a = 100
print("test1---------修改后:a=%d"%a)
def test2(): #没有局部变量,默认使用全局变量
print("test2---------a=%d"%a)
test1()
test2()
在函数中修改全局变量
#在函数中修改全局变量
a = 100
def test1(): #局部变量优先使用
global a #声明全局变量在函数中的标识符,于是在函数中修改的也是全局变量的修改
a = 300
print("test1---------修改前:a=%d"%a)
a = 100
print("test1---------修改后:a=%d"%a)
def test2(): #没有局部变量,默认使用全局变量
print("test2---------a=%d"%a)
test1()
test2()