Python 编写一个函数 cacluate
编写一个函数 cacluate ,可以接收任意多个数,返回的是一个元组元组的第一个值为所有参数的平均值第二个值是大于平均值的所有数.
def cacluate(*args):
list1 = []
sum = 0
for i in args:
sum += i
avg = sum / len(args)
for i in args:
if i > avg:
list1.append(i)
return avg, list1
if __name__ == '__main__':
n = cacluate(1, 2, 3, 4, 5, 6, 7, 8, 9)
print(n)
def cacluate(*args): 中args为元组
list1 = [] 用来存储大于平均值的所有数
avg = sum / len(args) 求平均值
list1.append(i) 将数添加进列表内
return 返回多个值时,会自动转为一个元组。
Python编写一个函数,接收字符串参数返回一个元组
编写一个函数,接收字符串参数返回一个元组, ehlla WROLD 元组的第一个值为大写字母的个数,第力个值为小与字母个数。
def num(str1):
big = 0
small = 0
for i in str1:
if i.isupper():
big += 1
elif i.islower():
small += 1
return big, small
if __name__ == '__main__':
s = 'ehlla WROLD'
n = num(s)
print(n)
if i.isupper():
big += 1
大写加一
elif i.islower():
small += 1
小写加一
使用高阶函数方式设计Calc函数,实现加、减、乘、除、乘方等计算功能
def add(x, y):
return x+y
def des(x, y):
return x-y
def cal(x, y):
return x*y
def dec(x, y):
return x/y
def pow(x, y):
return x**y
def Calc(f, x, y):
return f(x, y)
if __name__ == '__main__':
a = int(input('输入数字:'))
while True:
c = input('输入运算符:')
b = int(input('输入数字:'))
if c == '+':
a = Calc(add, a, b)
print('加法:', a)
elif c == '-':
a = Calc(des, a, b)
print('减法:', a)
elif c == '*':
a = Calc(cal, a, b)
print('乘法:', a)
elif c == '/':
a = Calc(dec, a, b)
print('除法:', a)
elif c == '**':
a = Calc(pow, a, b)
print('乘方:', a)
else:
break
实现了连续计算。
使用闭包编写一个学生成绩平均统计。要求每次调用函数传入一个学生成绩,得到已经传入成绩的平均分。
def outer():
def inner(*args):
sum = 0
for i in args:
sum += i
avg = sum/len(args)
return avg
return inner
if __name__ == '__main__':
ls = []
while True:
grade = int(input('输入学生成绩,输入0退出:'))
if grade == 0:
break
else:
ls.append(grade)
f = outer()
avgs = f(*ls)
print('平均分:', avgs)
编写一个装饰器,使其能够打印输出所装饰函数的运算时间
import time
def deco1(func):
def inner1(*args, **kwargs):
stat = time.time()
func(*args, **kwargs)
end = time.time()
print('耗时:', end - stat)
return inner1
@deco1
def f1(a, b):
while b < 100000:
a += b
b += 1
print(a)
if __name__ == '__main__':
f1(0, 1)
总结
通过本次几个案例了解了函数的定义与调用,高阶函数,闭包以及装饰器!