day6 老师代码

01昨日内容回顾

dict: dic = {'name':'alex'}
增:dic['age'] = 21 存在就覆盖
dic.setdefault() 没有就增加

删除:pop()按照key删除,有返回值
clear
del dic['name']
popitem()随机删除 返回的是元祖

改 update


dic.keys()
dic.values()
dic.items()

for k,v in dic.items():
print(k,v)

dic.get(key,None)

02作业讲解

'''
3、元素分类
    有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}


'''
# li= [11,22,33,44,55,66,77,88,99,90]
# dic ={}
# l_greater=[] #大于66的所有值列表
# l_less=[]    #小于66的所有值列表
# for i in li:
#     if i == 66:continue
#     if i > 66 :
#         l_greater.append(i)
#     else :
#         l_less.append(i)
# dic.setdefault('k1',l_greater)
# dic.setdefault('k2',l_less)
# print(dic)

'''
4、输出商品列表,用户输入序号,显示用户选中的商品
    商品 li = ["手机", "电脑", '鼠标垫', '游艇']
要求:1:页面显示 序号 + 商品名称,如:
          1 手机
           2 电脑
              …
     2: 用户输入选择的商品序号,然后打印商品名称
  3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。

'''
# flag = True
# while flag:
#     li = ["手机", "电脑", "鼠标垫", "游艇"]
#     for i in li:
#         print('{}\t\t{}'.format(li.index(i)+1,i))
#     num_of_chioce = input('请输入选择的商品序号/输入Q或者q退出程序:')
#     if num_of_chioce.isdigit():
#         num_of_chioce = int(num_of_chioce)
#         if num_of_chioce > 0 and num_of_chioce <= len(li):
#             print(li[num_of_chioce-1])
#         else:print('请输入有效数字')
#     elif num_of_chioce.upper() == 'Q':break
#     else:print('请输入数字')

03 小知识点总结

'''
python2 python3

'''
#python2
#print()  print 'abc'
#range()   xrange() 生成器
# raw_input()

#python3
#print('abc')
#range()
# input()

# = 赋值 == 比较值是否相等   is 比较,比较的是内存地址  id(内容)
# li1 = [1,2,3]
# li2 = li1
# li3 = li2
# print(id(li1),id(li2))

#数字,字符串 小数据池
#数字的范围 -5 -- 256
#字符串:1,不能有特殊字符
#        2,s*20 还是同一个地址,s*21以后都是两个地址
# i1 = 6
# i2 = 6
# print(id(i1),id(i2))
# i1 = 300
# i2 = 300
# print(id(i1),id(i2))


#剩下的 list dict tuple set
# l1 = [1,]
# l2 = [1,]
# print(l1 is l2)

# s = 'alex'
# s1 = b'alex'
# print(s,type(s))
# print(s1,type(s1))

# s = '中国'
# print(s,type(s))
# s1 = b'中国'
# print(s1,type(s1))

s1 = 'alex'
# encode 编码,如何将str --> bytes, ()
s11 = s1.encode('utf-8')
s11 = s1.encode('gbk')
print(s11)
s2 = '中国'
s22 = s2.encode('utf-8')
s22 = s2.encode('gbk')
print(s22)

04编码

ascii
            A : 00000010  8位 一个字节

unicode     A : 00000000 00000001 00000010 00000100 32位  四个字节
            中:00000000 00000001 00000010 00000110 32位  四个字节


utf-8      A :  00100000 8位 一个字节
          中 :  00000001 00000010 00000110 24位 三个字节


gbk        A : 00000110  8位 一个字节
         中  : 00000010 00000110 16位 两个字节
1,各个编码之间的二进制,是不能互相识别的,会产生乱码。
2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)

py3:
    str 在内存中是用unicode编码。
        bytes类型
        对于英文:
             str  :表现形式:s = 'alex'
                    编码方式: 010101010  unicode
            bytes :表现形式:s = b'alex'
                    编码方式: 000101010  utf-8 gbk。。。。

        对于中文:
             str  :表现形式:s = '中国'
                    编码方式: 010101010  unicode
            bytes :表现形式:s = b'x\e91\e91\e01\e21\e31\e32'
                    编码方式: 000101010  utf-8 gbk。。。。

 

 

'''
3、元素分类
有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}


'''
# li= [11,22,33,44,55,66,77,88,99,90]
# dic ={}
# l_greater=[] #大于66的所有值列表
# l_less=[] #小于66的所有值列表
# for i in li:
# if i == 66:continue
# if i > 66 :
# l_greater.append(i)
# else :
# l_less.append(i)
# dic.setdefault('k1',l_greater)
# dic.setdefault('k2',l_less)
# print(dic)

'''
4、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
要求:1:页面显示 序号 + 商品名称,如:
  1 手机
      2 电脑
        …
2: 用户输入选择的商品序号,然后打印商品名称
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:用户输入Q或者q,退出程序。

'''
# flag = True
# while flag:
# li = ["手机", "电脑", "鼠标垫", "游艇"]
# for i in li:
# print('{}\t\t{}'.format(li.index(i)+1,i))
# num_of_chioce = input('请输入选择的商品序号/输入Q或者q退出程序:')
# if num_of_chioce.isdigit():
# num_of_chioce = int(num_of_chioce)
# if num_of_chioce > 0 and num_of_chioce <= len(li):
# print(li[num_of_chioce-1])
# else:print('请输入有效数字')
# elif num_of_chioce.upper() == 'Q':break
# else:print('请输入数字')

posted on 2018-12-06 19:47  白的N次方  阅读(74)  评论(0编辑  收藏  举报

导航