一. 自定义一个和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