Python之路,day3-Python基础

三级菜单

 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:v
print(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 浅copy
copy.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

《林达看美国》



 
 

posted on 2016-10-28 22:41  灵魂与梦想  阅读(282)  评论(0编辑  收藏  举报

导航