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