day09 作业

简述定义函数的三种方式

空函数、无参函数、有参函数

简述函数的返回值

函数内部代码经过一系列的逻辑处理返回的结果

  • 函数没有返回值,默认返回None
  • 函数可以通过return返回出返回值
  • return可以终止函数
  • return可以返回多个值

简述函数的参数

形参

在定义函数时括号里的参数就是形参,具有描述意义,没有实际意义,本质上是变量名

实参

在调用函数时传入的值,称为实参,本质上就是变量值

位置参数

位置形参

在定义函数时,按照从左往右的顺序依次定义,就是位置形参

位置实参

调用函数时,按照从左往右的顺序依次传入值,就是位置实参。有多少个位置形参,就有多少个位置实参。

默认形参

  • 在定义函数阶段就已经赋值,在调用函数时就不需要传值
  • 在调用函数时传值,这样的值也是可以改变的
  • 默认形参在位置形参之后

关键字实参

在调用函数时,按照key=value的形式为指定的参数传值,称为关键字实参

关键字实参在位置实参之后

编写注册函数

def register():
    username_inp = input('请输入用户名:').strip()
    pwd_inp = input('请输入密码:').strip()
    print(f'用户名:{username_inp}, 密码:{pwd_inp}')
    with open('user_info.txt', 'a', encoding='utf8') as fa:
        if (':'or '.') in username_inp:
            print('输入错误, 请重新输入!')
        else:
            fa.write(f'{username_inp}:{pwd_inp}\n')
            print('注册成功')
            
register()

编写登录函数

def login():
    with open('user_info.txt', 'r', encoding='utf8') as fr:
        data = fr.read()
        data_list = data.split()
        # print(data_list)

        username_inp = input('请输入用户名:').strip()
        pwd_inp = input('请输入密码:').strip()
        for i in data_list:
            # print(i)
            username = i.split(':')[0]
            pwd = i.split(':')[1]

            if username == username_inp and pwd == pwd_inp:
                print('登录成功!')
                break
            else:
                print('登录失败!')
                break
login()
posted @ 2019-09-02 20:19  SetCreed  阅读(132)  评论(0编辑  收藏  举报