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

2月22日课后总结

时间:2023-02-22 17:35:50浏览次数:35  
标签:总结 字符 22 编码 用户 dic user 课后 print

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

相关文章

  • 闲话 23.2.22
    闲话好像我做题数真挺少的?随便找个人的切题记录我就一大半没写过的写过的全是板子wqz老师都400紫了%%%当然纠结这东西也没啥意义就是了但退役感++今天中午的歌......
  • 每日总结2023-2-23
      今天继续进行安卓的学习    写一个新的mytextview来继承原有textview并且调用自己的过程实现  获取焦点的方式同样可以用来实现  drawable导入图......
  • 2.22每日总结3
    今天下午用了大约一个小时的时间学习了androidstudio中新建空白项目后生成项目的各个部分的作用,以及makeproje后build中的一些文件的作用,然后简单跟着教学进行了一些编......
  • Day 22 22.1.2:增量式爬虫 - 场景2的实现
    场景2的实现:数据指纹使用详情页的url充当数据指纹即可。创建爬虫爬虫文件:cdproject_name(进入项目目录)scrapygenspider爬虫文件的名称(自定义一个名字即可)起始u......
  • 0221模拟赛(N≡N)
    \(~~~~\)我只能膜拜氮老师!「CTSC2015」日程管理题意\(~~~~\)\(n\)次操作,每次在\(T\)时间内加入一个截止日期\(t\),价值为\(p\)的任务,或删除一个已有的任务。若......
  • 各种情况的箭头函数 es6 230222
    无参无返回varfn=()=>{console.log(666)}fn()无参有返回varfn=()=>{return123}varres=fn()alert(res)有参无返回varfn=(num1,num2)=>{cons......
  • 使用剩余参数完成不定长参函数定义 es6 230222
    需求定义一个方法接收任意多个参数返回它们的和技能点在形参前加上三个点可以让这个形参变成 数组这个数组可以接收无限多个数据我们可以在方法体中遍历数组进行想要的操作......
  • 2023.2.22软件工程学习日报
      所花时间:代码量:博客量:3了解到的知识点:今天首先在安装了AndroidStudio的基础上了解了以下几点内容1、Android的项目架构(某个文件夹具体是干什么的)2、自带的SQLi......
  • js中的函数的各种形态 230222
    标准函数functionfn(){console.log(1111)}fn()匿名函数等号右边是匿名函数varfn=function(){console.log(222)}fn()自启动函数本质还是匿名函数(function()......
  • Windows 11 22H2 跳过微软账户登录系统
    1、安装完Windows11系统最新版22H2后,进入到网络设置界面时,使用快捷键Shift+F10打开“命令提示符”(注意:部分笔记本快捷键为Fn+Shift+F10)2、在弹出的命令窗口输入以......