欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python自定义函数

程序员文章站 2024-03-26 11:03:17
...

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