三级菜单
1 menu = { 2 ‘北京‘:{ 3 ‘海淀‘:{ 4 ‘五道口‘:{ 5 ‘soho‘:{}, 6 ‘网易‘:{}, 7 ‘google‘:{} 8 }, 9 ‘中关村‘:{ 10 ‘爱奇艺‘:{}, 11 ‘汽车之家‘:{}, 12 ‘youku‘:{}, 13 }, 14 ‘上地‘:{ 15 ‘百度‘:{}, 16 }, 17 }, 18 ‘昌平‘:{ 19 ‘沙河‘:{ 20 ‘老男孩‘:{}, 21 ‘北航‘:{}, 22 }, 23 ‘天通苑‘:{}, 24 ‘回龙观‘:{}, 25 }, 26 ‘朝阳‘:{}, 27 ‘东城‘:{}, 28 }, 29 ‘上海‘:{ 30 ‘闵行‘:{ 31 "人民广场":{ 32 ‘炸鸡店‘:{} 33 } 34 }, 35 ‘闸北‘:{ 36 ‘火车战‘:{ 37 ‘携程‘:{} 38 } 39 }, 40 ‘浦东‘:{}, 41 }, 42 ‘山东‘:{}, 43 } 44 45 current_level = menu 46 last_levels = [] 47 48 49 while True: 50 for key in current_level: 51 print(key) 52 city = input(‘》‘).strip() 53 if len(city) == 0:continue 54 if city == ‘b‘: 55 if len(last_levels) == 0:break 56 current_level = last_levels[-1] 57 last_levels.pop() 58 if city == ‘q‘: 59 break 60 61 if city not in current_level:continue 62 last_levels.append(current_level) 63 current_level = current_level[city]
1.字典字典 key:value
#元组,元素不可变l = ()#定义符号(),与列表完全一致,唯一不同的是元组内元素不可变# dic = {‘name‘:‘alex‘,‘age‘:18} #查询#取值两种方法print(dic[‘name‘])print(dic.get(‘name‘)) #增加dic[‘ggg‘]=‘x‘ #k:vprint(dic)#元素是#无序的 #修改dic[‘name‘]=‘hjhjj‘ #删除del dic[‘name‘]print(dic) #字典的key不可变,value可变#key类型 #key的定义规则:1.不可变,定义一个数据,然后改变数据,id是否改变,id改变为不可变类型,id不改变为可变类型。#数字,字符串,元组不可变,(列表,字典可变)。# 2.只要能哈希hash,就能当key,hash有数就表明可以定义为key#3.字典中key是唯一的#value类型#value定义规则:任意类型 #dic={}---->dict()---->_init_()dic3=dict() #dic={}print(dic3)dic4=dict(name=‘alex‘,age=18)#dic = {‘name‘:‘alex‘,‘age‘:18}print(dic4)dic5=dict({‘name‘:‘alex‘,‘age‘:18})dic6=dict(((‘name‘,‘alex‘),(‘age‘,18))) dic = {‘name‘:‘alex‘,‘age‘:18}#dic.clear()#print(dic) dic1=dic.copy()print(dic1) import copy#等于#copy 浅copycopy.deepcopy dic2=dict.fromkeys(‘hello‘,1)print(dic2) dic.get(‘name‘)#dic[‘name‘]print(dic.items()) print(dic.keys())print(dic)dic.pop(‘name‘)#删除 dic.popitem()#随机删除 dic.setdefault(‘gender‘,[])#增加 dic1={‘gender‘:‘male‘}dic.update(dic1)#更新 dic.values()#取字典的value data = dict.fromkeys([1,2,3],‘alex‘)print(data)
2.集合
#关系运算#集合中都是不同的元素,不可重复s1 = {‘a‘,1,2,3,3,3,3}s2 = {2,3}print(s1) a = {1,2,3,4,6,9}b = {2,4,9,8,7,5}#求和,交集print(a&b)print(a.intersection(b))#并集print(a|b)print(a.union(b)) #差集 ,去掉b中与a相同的元素print(a-b)print(a.difference(b)) #对称差集,不同的部分print(a^b)print(a.symmetric_difference(b)) #子集print(s1<=s2)print(s2<=s1)print(s1.issubset(s2))print(s2.issubset(s1)) #父集print(s1>=s2)print(s1.issuperset(s2)) ####集合取值s3 = {1,2,3,‘a‘}print(‘a‘ in s3)for i in s3: print(i)####元组用途t1= (1,2,3) 集合的其他内置方法
s1 = {1,2,3}s1.update(‘e‘)s1.update((1,2,3,4))s2= {‘h‘,‘e‘} s1.update(s2)s1.update(‘hello‘)print(s1) #增加s1.add(‘hello‘)print(s1) #删除s1.pop()#随机删除print(s1) #指定删除s1.remove(‘l‘)print(s1) #删除,返回值为空,元素不存在,不报错print(s1.discard(‘w‘))print(s1) s1 = {1,2,3,‘a‘,‘e‘}s2={1,2,3}s1.difference_update(s2)print(s1) s1.isdisjoint()
3.文件处理
#-*- coding:utf-8 -*-print(open(‘test.txt‘).read()) #read,r:读模式#w:创建写模式f = open(‘myfile‘,‘w‘) #a:增加模式 #删除模式 #r+;读写模式,追加到最后#w+:写读,清空创建,再写入#a+:追加读,追加到最后 f.closed #检查文件是否关闭f.encoding#打印文件编码格式f.fileno()#文件在操作系统中的索引值f.flush()#实时强制刷新文件(保存)f.isatty()#判断是不是终端文件f.name#打印文件名f.newlines#f.readable()#是否为不可读文件f.seek()#寻找,移动光标到指定位置f.seek(10)#从第十个字段开始读f.tell()#告诉你光标在文件中的位置f.truncate()#截断,从光标的位置截断data = [‘alex\n‘,‘jack\n‘]f.writelines(data)#将列表按行插入文件#eval(data)将字符串转为字典
4.字符编码 高电压:1低电压:0 计算机只认识数字 字符 ------翻译------》 数字a------11 1.内存固定使用unicode编码,硬盘的编码(即你可以修改的软件编码)2.使用什么编码往硬盘存,就用什么编码读3。程序运行分两河阶段:1.从硬盘读到内存2.python解释器运行已读到内存的代码4.针对一个test.py文件来说python与nodpad++\vimde区别是多了第二步骤5.头部编码类型,决定内存从硬盘怎么读
分享 《消费者行为学》5分钟商学院 app:得到 lib兄弟连 php戏说php 《林达看美国》
时间: 2024-12-15 06:54:28