python自定义函数
一. 自定义一个和sum函数功能一样的函数
方法一: 遍历每一个数相加返回结果(少量的数相加可以, 数多了就麻烦了,不太好用)
def my_sum(num): n = 0 for i in num: n += i return n num = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 # 元组可省略括号, 传列表也一样可以 print(num, "的和是:", my_sum(num))
方法二: 上面的思路用传递函数的参数代替变量赋值, 同样可以算, 可惜也不能简化输入量
def sum_me(*x): n = 0 for i in x: n += i return n print(sum_me(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
方法三: 这个方法不用输入那么多数字了
思路:第一次循环返回n, 第二次返回n-1,一直到1,最后相加. 用上了递归.
def my_sum(n): if n == 1: return 1 return n + my_sum(n - 1) num = int(input("请输入数字n:")) print("1到%d的和是:" % num, my_sum(num))
二. 自定义操作文件函数
def 操作文件(文件名, 模式, 内容=None): with open(文件名 ,mode=模式, encoding='utf-8' ) as f: if 模式 == 'r': data = f.read() # 以行的方式, 读文件 return data elif 模式 == 'w': f.write(内容) return '写入成功' elif 模式 == 'a': f.write(内容) return '添加成功'
三. 给定一组数字a,b,c……,请计算a2+b2+c2+…… 数字长度不固定
def 平方和函数(*args): # 很多数 (元组里面有很多数) n = 0 for i in args:# i 是元组中的元素 n += i**2 return n