時光很短暫

导航

 

练习题

# 统计一个字符串中出现的字符的个数
eg:
    s = 'helloworld'
以字典的形式输出:
    {'h':1, 'e':1, 'l':2}

# # 统计一个字符串中出现的字符的个数
# s = 'helloworld'
#
# # 1. 定义一个空字典,用来存储结果
# data_dict = {}
#
# # 2. 字符串是可以循环的,
# for i in s:
#     # 2.1 判断字典中是否存在了i => h
#     if i in data_dict:
#         data_dict[i] += 1 # {'e':2}
#     else:
#         data_dict[i] = 1
#
# print(data_dict)


# 统计一个字符串中出现的单词的个数
s = 'hello world jason jason jason ly ly ly ly'

# 1.0 把s这个字符串按照空格切成列表
ss = s.split(' ') # ['hello', 'world' ,'jason', 'jason]
# 1. 定义一个空字典,用来存储结果
data_dict = {}

# 2. 字符串是可以循环的,
for i in ss:
    # 2.1 判断字典中是否存在了i => h
    if i in data_dict:
        data_dict[i] += 1 # {'hello':2, 'world':1}
    else:
        data_dict[i] = 1

print(data_dict)

员工管理系统

# 目的: 复习前几天的知识点,里面可能会有很多漏洞,不要太在意

# 添加用户
'''
{'name':'ly', 'age':18}
{'name':'ly1', 'age1':18}
'''

# 2.0 先定义一个列表,存储用户的信息
user_data_list = []

while True:
    print("""
        1. 添加用户
        2. 查看用户
        3. 删除用户
        4. 退出系统
    """)
    # 1. 让用户输入要操作的序号
    choice = input('请输入序号:').strip()
    # 1.1 验证用户输入的是不是数字
    if not choice.isdigit():
        print('输入不合法')
        continue

    if choice == '1':
        print('添加用户')
        # 3.0 获取用户输入的信息
        user_id = input('请输入用户编号:').strip()
        # 3.3 验证用户输入的编号是否已经存在
        for item in user_data_list: # user_data_list = [{'user_id':1}, {'user_id':2}]
            # item => {'user_id':1}
            # item => {'user_id':2}
            # 判断用户数据的编号是否存在
            if user_id == item['user_id']:
                print('用户编号已经存在')
                break
        else:
            name = input('请输入用户姓名:').strip()
            age = input('请输入用户年龄:').strip()
            salary = input('请输入用户薪资:').strip()

            # 3.1 先定义一个空字典,用来存储用户的信息
            tmp = {}tmp['user_id'] = user_id
            tmp['name'] = name
            tmp['age'] = age
            tmp['salary'] = salary
            # tmp = {'user_id':1, 'name':'ly', 'age':18}

            # 3.2 把用户的个人信息放到空列表中
            user_data_list.append(tmp)
            print('添加用户:%s成功' % name)
    elif choice == '2':
        print('查看用户')
        print(user_data_list)
    elif choice == '3':
        print('删除用户')
    elif choice == '4':
        print('退出系统')
    else:
        print('你选择的序号不存在')

字符编码

字符串类型、文本文件的内容都是由字符组成的,但凡涉及到字符的存取,都需要考虑字符编码的问题。

人类在与计算机交互时,用的都是人类能读懂的字符,如中文字符、英文字符、日文字符等
而计算机只能识别二进制数

翻译的过程必须参照一个特定的标准,该标准称之为字符编码表,该表上存放的就是字符与数字一一对应的关系。


0     a
1      b
00    aa
01    ab
000
001
010

字符编码的发展史

1. 一家独大:
    计算机起源于美国,所以,最开始的时候,计算机只考虑了英文字符
        ASCII码表:
            '''
                1、只有英文字符与数字的一一对应关系
                2、一个英文字符对应1Bytes,1Bytes=8bit,8bit最多包含256个数字,可以对应256个字符,足够表示所有英文字符
                
                0 : 48
                A :65
                a : 97
            '''
            
 2 . 群雄割据
    为了让计算机能够识别中文和英文,中国人定制了GBK
        GBK编码:
            # GBK表的特点:
            1、只有中文字符、英文字符与数字的一一对应关系
             2、 一个中文字符使用两个或者两个以上的bytes记录
                2bytes = 16位 
                16位可以表示 2 ** 16 种情况
                
                '''
                    如果超过了2 ** 16,gbk就会使用一个中文字符用3个字节表示
                '''
             # Shift_JIS表的特点:
            1、只有日文字符、英文字符与数字的一一对应关系

            # Euc-kr表的特点:
            1、只有韩文字符、英文字符与数字的一一对应关系   
3. 分久必合
    为了让世界各国的字符统一起来,就诞生了unicode编码
        unicode(万国码): 统一使用2个字节进行表示
                eg:adsadsadsadsadsad
         # 1. 存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符
         
         utf-8编码(unicode的优化版本)
         '''
             把英文字符还按照一个字节表示
             中文字符还按照2个字节或者更多字节表示
         '''
      得出结论:以后我们都使用utf-8编码
    

字符编码的差异

1. 如何解决乱码问题
    切换对应的编码
2. python解释器版本不同代码的差异
    python2
    python3
    
    '''
        python2诞生的时候,还没有utf8的编码,所以,python2中不能使用utf8的编码
    '''
 3. pycharm如何添加模板注释
    settings
        editor
            file and code templates
                python script
                     在这个里面写你想添加的内容
                    
  4. 编码与解码
       编码:
            # 把人类能够读懂的字符按照转成计算机能够识别的字符的过程
       解码
            # 把计算机能够读懂的字符按照转成人类能够识别的字符的过程
       如何操作?
        s = '你好啊,世界'
        # 编码
        # print(s.encode('gbk'))
        s1 = s.encode('utf8')

        # 解码
        s2 = s1.decode('utf8')
        print(s2)

 

posted on 2021-12-31 14:42  時光很短暫  阅读(29)  评论(0)    收藏  举报