debug补充
1. 在当前行的代码左侧点击一下,会出现一个红点(打断点)
2. 在代码编辑区域右键选择debug,不要在选择run
员工管理系统
user_dict_item = {}
while True:
print("""
1.创建员工信息
2.查看单个员工
3.查看所有员工
4.修改员工薪资
5.删除员工信息
""")
choice = input('请输入您想要执行的功能编号>>>:').strip()
if choice == '1':
while True:
user_id = input('请输入您想要创建的员工编号(q)>>>:').strip()
if user_id == 'q':
break
if not user_id.isdigit():
print('员工编号只能是数字')
continue
if user_id in user_dict_item:
print('该编号员工已存在')
continue
name = input('请输入员工姓名>>>:').strip()
age = input('请输入员工年龄>>>:').strip()
job = input('请输入员工职业>>>:').strip()
salary = input('请输入员工薪资>>>:').strip()
user_dict = {}
user_dict['name'] = name
user_dict['age'] = age
user_dict['job'] = job
user_dict['salary'] = salary
user_dict_item[user_id] = user_dict
print(f'员工{name}添加成功')
elif choice == '2':
while True:
user_id = input('请输入您想要查看的员工编号(q)>>>:').strip()
if user_id == 'q':
break
if not user_id.isdigit():
print('员工编号只能是数字')
continue
if user_id not in user_dict_item:
print('该编号员工不存在')
continue
res = user_dict_item.get(user_id)
print(f"""
---------------info of item---------------
姓名:{res.get('name')}
年龄:{res.get('age')}
工作:{res.get('job')}
薪资:{res.get('salary')}
------------------------------------------
""")
elif choice == '3':
for user_id in user_dict_item.values():
print(f"""
---------------info of item---------------
姓名:{user_id.get('name')}
年龄:{user_id.get('age')}
工作:{user_id.get('job')}
薪资:{user_id.get('salary')}
------------------------------------------
""")
elif choice == '4':
while True:
user_id = input('请输入您想要修改薪资的员工编号(q)>>>:').strip()
if user_id == 'q':
break
if not user_id.isdigit():
print('员工编号只能是数字')
continue
if user_id not in user_dict_item:
print('该编号员工不存在')
continue
new_salary = input('请输入该员工新的薪资>>>:').strip()
if not new_salary.isdigit():
print('薪资只能是数字')
continue
user_dict = user_dict_item.get(user_id)
user_dict['salary'] = new_salary
user_dict_item[user_id] = user_dict
elif choice == '5':
while True:
user_id = input('请输入您要删除的员工编号(q)>>>:')
if user_id == 'q':
break
if not user_id.isdigit():
print('员工编号只能是数字')
continue
if user_id not in user_dict_item:
print('您输入的员工编号不存在')
continue
del user_dict_item[user_id]
elif not choice.isdigit():
print('功能编号只能是数字')
else:
print('暂时没有此功能')
2.字符编码
字符编码只跟文本文件和字符串有关,跟音频文件,视频文件之类的都没有关系
什么是字符编码?
计算机内部只认识二进制,但是,我们人类语言有各种各样的样式,为了让计算机能够认识人类的语言,内部有一种机制就是讲人类语言转为计算机语言
字符编码:记录了人类语言与数据之间的对应关系
3.字符编码的发展史
1. 一家独大
由于计算机最开始是由美国人发明的,美国人为了让计算机识别英文字符
ASCII码表:使用一个字节来记录一个英文字符
2. 群雄割据
中国人:我们中国人也要使用计算机,中国人也发明了一张编码表
GBK码:记录中文英文与数据之间的对应关系
'''
我们使用两个字节或者三个字节来记录中文字符
'''
2 ** 16 = 65535
韩国人: 韩国人也要使用计算机,我们也发明了一张编码表、
Euc-kr表:只有韩文字符、英文字符与数字的一一对应关系
日本人:
Shift_JIS表: 1、只有日文字符、英文字符与数字的一一对应关系
3. 一统天下
unicode表(万国码): # 存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符
'''结论:unicode码只在内存中起作用'''
我们日常使用的字符编码都是utf8编码,但是,utf系列还有utf16 utf32... utf8mb4
补充:utf8只能存储正常的字符,utf8mb4可以存储表情
4.字符编码的使用
1. 如何解决乱码问题?
文本文件使用什么字符编码保存,打开的时候就要使用对应的字符编码
2. python解释器版本不同带来的差异
# python2 解释器使用的字符编码还是ASCII表
# python3 使用的是utf8编码
3. 添加文件模板
settings
Editor
File and code template
python script
4. 编码与解码(核心)
# 编码:
将人类能够读懂的语言转为计算机能够读懂的语言
# 解码:
将计算机能够读懂的语言转为人类能够读懂的语言
5.文件介绍
三步骤(关键字:open)
1. 打开文件
2. 操作文件
3. 关闭文件
语法格式:
open('文件路径', '读写模式', '字符编码')