函数基础一

Posted Alice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数基础一相关的知识,希望对你有一定的参考价值。

一、定义

函数是对语句的封装

def 函数名
    函数体

二、参数

1、形参和实参
函数定义时需要几个形参,调用函数时就需要传入几个实参
形参:函数定义时,在括号里定义的变量,称为形式参数 ,简称形参,只起到占位的作用;
实参:函数调用时传入的值,称为实际参数,简称实参,是真正参与逻辑处理的值
2、传递任意数量的实参
*args 是一个元组,表示可变参数

def test(a, b, *args):
    print(args)
    print(a+b)
    
test(1, 2, 3)

三、返回值

如果一个函数没有返回值,那么这个函数的返回结果是None

def get_sum(m, n):
    result = 0
    for i in range(m, n+1):
        result += i
    return result

x = get_sum(1, 2)
print(x**2)

四、内置函数

1. print()需要输入一个参数,参数是一个字符串类型的数据
2. input()
3. len()
4. max()
5. sum()求和
6. pow(x,y)求x的y次方
7. round(f,n)四舍五入,保留小数点后n位
8. sorted()对可迭代对象进行排序
9.
nums = [8,1,2,0,9]
print(max(nums))
print(nums.sort())#列表的sort()方法进行排序,如果用对象的sort方法,运行后没有结果,直接作用到列表了
print(sorted(nums))#内置函数sorted(),将列表传进去,结果是排序后的

五、函数的使用

# 1、定义一个函数,让用户输入长和宽,计算并打印面积,要求面积四舍五入保留到小数点后两位
def get_area():
    width = float(input(\'请输入宽:\'))
    height = float(input(\'请输入高:\'))
    # %f     表示的是小数点的占位符
    # %.nf   表示的是四舍五入保留到小数点后n位
    print(\'计算出来的面积是%.2f\' %(width*height))
get_area()
# 2、定义一个函数,求一个列表里数据的最大值
def get_max(ns):
    # 假设列表里第0个数是最大值
    my_max = ns[0]
    for n in ns:
        if n > my_max:
            my_max = n
    print(\'列表里的最大数是%d\' % my_max)

nums = [8, 1, 5, 4, 3, 9, 0]
get_max(nums)
# 3、定义一个函数,不断的让用户输入数字,如果用户输入stop,停止输入,并打印这些数字里的最大数
def get_max(ns):
    # 假设列表里第0个数是最大值
    my_max = ns[0]
    for n in ns:
        if n > my_max:
            my_max = n
    print(\'列表里的最大数是%d\' % my_max)

def demo():
    nums = []  # 用来保存用户输入的数字
    while True:
        num = input(\'请输入一个数字:\')
        if num == \'stop\':
            break
        nums.append(int(num))
    get_max(nums)

demo()
# 4、名片管理系统
# 定义一个全局变量的列表,用来保存所有的用户
user_list = []

def add_user():
    # print(\'添加名片\')

    # 让用户输入用户名,手机号和QQ等信息
    name = input(\'请输入姓名:\')

    for u_dict in user_list:
        if u_dict[\'name\'] == name:
            print(\'对不起,用户名已经被占用了!!!\')
            # break#只能结束当前循环,但函数中除了该循环外的下面仍会执行
            return  # 表示结束函数
    tel = input(\'请输入手机号:\')
    qq = input(\'请输入QQ号:\')

    # 把用户输入的信息整合成为一个字典来保存
    user = {\'name\': name, \'tel\': tel, \'qq\': qq}

    # 把创建好的用户字典添加到用户列表里
    user_list.append(user)
    print(user_list)


def del_user():
    # print(\'删除名片\')
    num = int(input(\'请输入要删除的序号:\'))
    if num < 0 or num > len(user_list)-1:
        print(\'您输入的序号不在范围内\')
        return
    is_sure = input(\'你确定要删除吗(yes or no):\')
    if is_sure.lower() == \'yse\':
        user_list.pop(num)
    print(user_list)


def modify_user():
  #  print(\'修改名片\')
    if num < 0 or num > len(user_list)-1:
        print(\'您输入的序号不在范围内\')
        return
    print(\'您要修改的信息时:\')
    # 根据下标获取到字典数据
    user_dict = user_list[num]
    print(\'姓名:%s,手机号:%s,QQ号:%s\' %
          (user_dict[\'name\'], user_dict[\'tel\'], [\'qq\']))

    new_name = input(\'请输入新的姓名:\')
    new_tel = input(\'请输入新的手机号:\')
    new_qq = input(\'请输入新的qq:\')

    user_dict[\'name\'] = new_name
    user_dict[\'tel\'] = new_tel
    user_dict[\'qq\'] == new_qq

    print(user_list)


def show_user():
    # print(\'显示名片\')
    search_name = input(\'请输入您要查询的姓名:\')
    for user in user_list:
        if user[\'name\'] == name:
            print(\'查询到的信息如下:\')
            print(\'姓名:%s,手机号:%s,QQ号:%s\' %
                  (user[\'name\'], user[\'tel\'], user[\'qq\']))
            break
    else:
        print(\'没有您要找的信息......\')


def show_all():
    # print(\'显示所有\')
    print(\'序号             姓名          手机号           QQ\')
    i = 0
    for user in user_list:
        # center  字符串的方法
        print(\'%d    %s   %s    %s\' % (i, user[\'name\'].center(
            10), user[\'tel\'].center(14), user[\'qq\'].center(10)))
        i += 1


def quit_system():
    # print(\'退出系统\')
    is_sure = input(\'你确定要退出吗?(yes  or  no)\')
    if is_sure.lower() == \'yes\':
        return True
    else:
        return False


def main():
    while True:
        print(\'----------------------\')
        print(\'名片管理系统V1.0\')
        print(\'1:添加名片\')
        print(\'2:删除名片\')
        print(\'3:修改名片\')
        print(\'4:查询名片\')
        print(\'5:显示所有名片\')
        print(\'6:退出系统\')
        print(\'----------------------\')

        num = input(\'请输入要进行从操作(数字)\')
        if num == \'1\':
            add_user()
        elif num == \'2\':
            del_user()
        elif num == \'3\':
            modify_user()
        elif num == \'4\':
            show_user()
        elif num == \'5\':
            show_all()
        elif num == \'6\':
            # quit_system()
            is_exit = quit_system()
            if is_exit == True:
                break
        else:
            print(\'输入的内容不合法\')


main()

以上是关于函数基础一的主要内容,如果未能解决你的问题,请参考以下文章

go基础二

Android 逆向加壳技术简介 ( 动态加载 | 第一代加壳技术 - DEX 整体加固 | 第二代加壳技术 - 函数抽取 | 第三代加壳技术 - VMP / Dex2C | 动态库加壳技术 )

Java基础:封装

一步一图一代码,一定要让你真正彻底明白红黑树

函数计算GB镜像秒级启动:下一代软硬件架构协同优化

miniui后台无法接收到input传值