首页 > 其他分享 >2月23日课后总结

2月23日课后总结

时间:2023-02-23 18:55:14浏览次数:29  
标签:总结 return 23 用户 user 课后 print input 输入

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('输入错误请重新输入')

标签:总结,return,23,用户,user,课后,print,input,输入
From: https://www.cnblogs.com/juzixiong/p/17149084.html

相关文章

  • 2023.2.23软件工程学习日报
    所花时间:1.5小时代码量:100行博客量:1了解到的知识点:今天学习了在AndroidStudio中进行activity的跳转了解到的内容为:创建一个活动后一定要在项目中进行注册,注册完成后要......
  • 【6】分布式部署+性能指标+总结
                                                         ......
  • RabbitMQ 总结
    为什么使用MQ:异步,解耦,肖峰使用消息队列带来的一些问题:系统可用性降低:系统可用性在某种程度上降低,为什么这样说呢?在加入MQ之前,你不用考虑      消息丢失......
  • 2023 年的 Web Worker 项目实践
    前言WebWorkers是2009年就已经提案的老技术,但是在很多项目中的应用相对较少,常见一些文章讨论如何写demo,但很少有工程化和项目级别的实践,本文会结合WebWorkers在......
  • 代码随想录算法训练营Day23 二叉树
    代码随想录算法训练营代码随想录算法训练营Day23二叉树|669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树总结篇669.修剪二叉搜索......
  • 每日总结2023/2/23
    今天学习了AndroidStudio中的控件跳转buttonprivateButtonmButlogin;//声明控件//privateButtonmButdeng;//注册控件@OverrideprotectedvoidonCr......
  • 今日总结
    今天尝试了下最简单的文字格斗类型游戏制作packagecom;importjava.util.Random;importjava.util.*;publicclassBean{privateStringname;private......
  • 20230223
    20230223A比较显然的,不考虑每天的需求,单看总量可以确定一个最小需求\(x_1\),再看单日最大需求量\(x_2\),可以证明两者的最大值一定可以满足条件,故最终答案为\(max(x_1,x_2......
  • C/C++宠物信息管理系统[2023-02-23]
    C/C++宠物信息管理系统[2023-02-23]计算机科学与技术专业课程设计任务书学生姓名专业班级学号题目宠物信息管理系统主要内容开发一个简单的宠物信息管理系统。要......
  • Astute Graphics for Mac(全系列ai插件合集)支持ai 2022/2023
    哪里可以下载ai插件AstuteGraphics?今天macw小编为大家带来的是包含了AstuteGraphics出品的全系列21套AI插件:astutegraphics破解版下载。其中包含了包括颜色控制、图形剪......