Python学习day09

文章介绍了员工管理系统的实现,包括创建、查看、修改和删除员工信息。同时,讨论了字符编码的概念,从ASCII到Unicode的发展,以及如何处理乱码问题和Python中的编码差异。文件操作的关键步骤和不同读写模式也进行了说明。
摘要由CSDN通过智能技术生成
debug补充

1. 在当前行的代码左侧点击一下,会出现一个红点(打断点)

2. 在代码编辑区域右键选择debug,不要在选择run

  1. 员工管理系统

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('文件路径', '读写模式', '字符编码')

6.文件的读写模式

1. r >>> read: 只读 # 只能读,不能写

2. w >>> write:只写 # 只能写,不能读

3. a >>> append: 追加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值