2月23日课后总结

2/23课后总结

员工管理系统

def add_user():
    """
        添加一个用户并存入字典
    :return: 如果成功添加则返回添加成功,如果字典里已经有该用户则返回ID已存在
    """
    print('--------添加用户--------')
    user_id = input('请输入员工ID>>>')
    username = input('请输入员工姓名>>>')
    age = input('请输入员工年龄>>>')
    salary = input('请输入员工薪资>>>')
    global dic
    if f'用户ID:{user_id}' not in dic:
        dic[f'用户ID:{user_id}'] = f'姓名:{username}', f'年龄:{age}', f'薪资:{salary}'
        return '添加成功'
    else:
        return '用户ID已存在'


def check_user():
    """
        查看用户
        输入1查看指定用户
        如果输入的用户查询不到则打印查无此人
        输入2查看全部用户
    """
    print('--------查看用户--------')
    print('查看指定用户\t\t[输入1]')
    print('查看全部用户\t\t[输入2]')
    flag = input()
    if flag == '1':
        user_id = input('请输入你要查询的ID')
        if f'用户ID:{user_id}' in dic:
            print(dic[f'用户ID:{user_id}'])
        else:
            print('查无此人')
    elif flag == '2':
        print(dic)


def del_user():
    """
        删除用户
        输入指定的ID,将其删除
    :return: 删除成功则返回删除成功,如果查询不到则返回查无此人
    """
    print('--------删除用户--------')
    global dic
    user_id = input('请输入你要删除的ID')
    if f'用户ID:{user_id}' in dic:
        del dic[f'用户ID:{user_id}']
        return '删除成功'
    else:
        return '查无此人'


def main():
    """
        员工管理系统的主界面
    :return: 根据提示输入对应的值
    """
    print('----欢迎使用员工管理系统----')
    print('  添加用户\t\t[输入1]')
    print('  查看用户\t\t[输入2]')
    print('  删除用户\t\t[输入3]')
    print('  退出系统\t\t[输入4]')

    return input('请输入>>>')


while True:
    value = main()
    if value == '1':
        print(add_user())
        continue
    elif value == '2':
        check_user()
        continue
    elif value == '3':
        print(del_user())
        continue
    elif value == '4':
        exit()
    else:
        print('输入错误')

文件

1. 文件的读写模式
	# r w a 只能操作文本
    # w 不存在文件会创建,文件存在先清空再写,写的都是字符串 a 不会清空
2. 文件的操作方法
    # 句点符
	# 读
        print(f.read())  # 一次全读完,文件太大会溢出
        print(f.readline())  # 一次读一行 
        print(f.readable())  # 判断是否可读
        print(f.readlines())  # 把文件里一行一行的数据组成列表输出注意\n
    # 写
    	f.write('hello\n')  
        print(f.writable()) # 判断是否可写
        print(f.writelines(['1\n', '2\n', '3\n']))  # 一次输入多行
3. 文件读写操作优化
	for line in f:
    	print(line)   # 支持for循环一行一行的输出不会内存溢出
    f.flush()  # 可以把内存中数据立刻刷入硬盘
4. 文件的操作模式
	# b模式:二进制
    """
    	可操作任何类型的数据,
    	rb,ab,wb,b不可省略
    	encoding参数不写
    	以字节为单位
    """

课堂练习

def user_add():
    """
        用于注册用户,根据输入的账号来判断文件user中是否已经存在该账号
        如果已经存在则打印用户已存在,请重新输入否则将输入的账号密码写入文件
    :return: 注册成功后返回字符串注册成功
    """
    print('注册用户'.center(20, '-'))
    while True:
        username = input('请输入你的账号>>>')
        password = input('请输入你的密码>>>')
        with open('user.txt', 'r', encoding='utf-8') as f:
            for line in f:
                name, *_ = line.split('|')
                if name == username:
                    print('用户已存在,请重新输入')
                    break
            else:
                with open('user.txt', 'a', encoding='utf-8') as f1:
                    f1.write(f'{username}|{password}\n')
                    return '注册成功'


def user_login():
    """
        用于用户登录根据所输入的账号密码与文件user中已存在的进行比较
        如果正确则返回登录成功
        否则返回账号或者密码错误
    :return:根据判断后返回相应的字符串
    """
    print('用户登陆'.center(20, '-'))
    username = input('请输入你的账号>>>')
    password = input('请输入你的密码>>>')
    with open('user.txt', 'r', encoding='utf-8') as f:
        for line in f:
            name, pw = line.split('|')
            if name == username and pw.split('\n')[0] == password:
                return '登陆成功'
        else:
            return '账号或密码错误'


def main():
    """
        主函数,此系统的主界面打印相应的界面
    :return: 需要用户输入
    """
    print('欢迎使用此系统'.center(20, '-'))
    print('  注册用户\t\t[输入1]')
    print('  用户登陆\t\t[输入2]')
    print('  退出系统\t\t[输入3]')
    return input('请输入>>>')


while True:
    x = main()
    if x == '1':
        print(user_add())
        continue
    elif x == '2':
        print(user_login())
        continue
    elif x == '3':
        exit()
    else:
        print('输入错误请重新输入')
posted @ 2023-02-23 18:49  橘子熊何妨  阅读(24)  评论(0)    收藏  举报