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('请输入数字')
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步