2/22课后总结
练习题讲解
def Dict(s):
dic = {} # 定义一个空字典
for i in s: # 遍历字符串
if i in dic: # 如果字典中不存在该字符则将其输入并计数1,否则将原本的值加1
dic[i] += 1
else:
dic[i] = 1
return dic # 返回字典的值
print(Dict('ababaccdd')) # 将需要的字符串传到形参s
def Dict(s):
dic = {} # 定义一个空字典
List = s.split() #将字符串切分并存入列表
for i in List: # 遍历字符串
if i in dic: # 如果字典中不存在该字符则将其输入并计数1,否则将原本的值加1
dic[i] += 1
else:
dic[i] = 1
return dic # 返回字典的值
print(Dict('kevin tony jack jack tom kevin tom jack tony tom kevin tom jack')) # 将需要的字符串传到形参s
debug
"""
在代码左侧点击会出现一个断点
代码编辑区右键选择debug选项,可以查看代码的运行,方便排错
"""
员工管理系统
dic = {} #定义一个空字典
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. ASCII码
"""
最早的字符编码,由美国人发明,记录了字母数字和英文字符
共有127个,采用一个字节(八位二进制)记录之多记载255个字符
主要需要记住的有:
0:48
A: 65
a: 97
"""
2. GBK码
"""
由中国人发明的编码,记录汉字英文字符
一般采用两个或者三个字节记载中文字符
2^16=65535
还有韩国人和日本人也发明了他们国家适用的编码
"""
3. unicode码(万国码)
"""
记录了所有语言的所有字符与数字并一一对应
unicode只在内存中起作用
使用至少两个字节保存数据
"""
4. utf8
"""
日常使用的都是utf8编码,utf系列还有utf16,utf32,utf8mb4
用一个字节保存英文字符
两个或以上保存中文字符
utf8只能存储正常的字符,utf8mb4可以存储表情
"""
字符编码的使用
1. 如何解决乱码问题?
文本文件使用什么字符编码保存,打开的时候就要使用对应的字符编码
2. python解释器版本不同带来的差异
# python2 解释器使用的字符编码还是ASCII表
# python3 使用的是utf8编码
3. 添加文件模板
settings
Editor
File and code template
python script
4. 编码与解码
编码:
就是将人的语言转成二进制
解码:
就是将二进制转成人的语言
s = '一二三四五,上山打老虎'
s1 = s.encode('utf-8') # 编码
print(s1, '\n', type(s1))
# 运行结果: b'\xe4\xb8\x80\xe4\xba\x8c\xe4\xb8\x89\xe5\x9b\x9b\xe4\xba\x94\xef\xbc\x8c\xe4\xb8\x8a\xe5\xb1\xb1\xe6\x89\x93\xe8\x80\x81\xe8\x99\x8e'
<class 'bytes'>
print(s1.decode('utf-8')) # 解码
s = b'kevin123' # 只有英文字符和数字,要想编码的话,直接使用前缀b
文件
# 文件的类型:txt word excel py
'''python操作文件'''
# 三步骤(关键字:open)
1. 打开文件
2. 操作文件
3. 关闭文件
# 1. 打开文件
# open('文件路径', 'r', '字符编码')
f=open('a.txt', 'r', encoding='utf-8')
# 输出结果为:print(f) # <_io.TextIOWrapper name='a.txt' mode='r' encoding='utf8'> 文件句柄
print(f.read()) #读文件
f.close() # 关闭文件
"""
语法格式:
open('文件路径', '读写模式', '字符编码')
"""
# r的作用
'''当路径中可能存在有转移的字符时,字符串前面加上r来解决转义的问题'''
r'D:\python25\day09\a.txt'
文件的读写
1. r >>> read: 只读 # 只能读,不能写,路径不存在直接报错
print(f.read())
2. w >>> write:只写 # 只能写,不能读,路径不存在会直接创建一个,每次写之前会清空
print(f.write())
3. a >>> append: 追加 # 追加,路径不存在会直接创建一个,写入不会清空
print(f.write())
标签:总结,字符,22,编码,用户,dic,user,课后,print
From: https://www.cnblogs.com/juzixiong/p/17145213.html