第一章
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一章相关的知识,希望对你有一定的参考价值。
本节内容
- 列表、元组操作
- 字符串操作
- 字典操作
- 集合操作
- 文件操作
- 字符编码与转码
sys模块
import sys
print(sys.path) 打印模块路径
print(sys.argv) 打印当前文件相对路径 ,与用户交互 如shell
中$1`$2
与或关系
or 或
and 和
not 否
in 是否存在
not in
is
type(a) is list 判断是不是列表
& 与
| 或
^ 两个为真才为真
>> 先向右移
<< 向左移
运算
8 ** 2 次方
3 + 2 加
16 - 8 减
8 * 8 乘
8 / 2 除
100 // 50 求整除
100 % 50 取模
列表
name = ["zhang","li","wang","liu"]
print(name[-3:]) 切片倒数3个
name.append("han") 添加
name.insert(2,"hanwei") 插入
name[2] = "99999" 修改
name.remove("zhang") 删除
del name[1] 删除
name.pop(1) 删除
name.sort() 排序
name.reverse() 反向排序
name.clear() 清除
print(name.index("wang")) 打印下标
print(name.count("liu")) 取总数
浅copy
name = ["zhangsan","lisi",["ai","ni"],"wangermazi","liuliu"]
name2 = name.copy()
name[1] = "wangwu"
name[2][0] = "aa"
print(name)
print(name2)
深copy
import copy
name = ["zhangsan","lisi",["ai","ni"],"wangermazi","liuliu"]
name2 = copy.deepcopy(name)
name[0] = "zhang"
name[2][0] = "vv"
print(name)
print(name2)
循环打印列表
for i in name:
print(i)
不常切片列表
print(name[::2])
元组和列表的区别在于不可以删改
元组又叫只读列表
三元运算
a,b,c = 2,4,6
print(5) if a < b else print(444)
购物车练习
1 #!/usr/bin/python env 2 # -*- encoding:utf8 -*- 3 4 sc_list = [ 5 (‘iphone7‘,7999), 6 (‘tesla‘,1000000), 7 (‘bike‘,800), 8 (‘coffee‘,50), 9 (‘MAC‘,9000), 10 ] 11 12 salary = input("\\033[35m请输入你的金额:\\033[0m") 13 user_sp = [] 14 if salary.isdigit(): 15 salary = int(salary) 16 while True: 17 for index,time in enumerate(sc_list): 18 print(index,time) 19 user_gw = input("\\033[35m请选择你要购买的商品:\\033[0m") 20 if user_gw.isdigit(): 21 user_gw = int(user_gw) 22 if user_gw <= len(sc_list) and user_gw >= 0: 23 t_time = sc_list[user_gw] 24 if salary >= t_time[1]: 25 salary -= t_time[1] 26 user_sp.append(t_time) 27 else: 28 print("\\033[35m你的%s不足!\\033[0m"%salary) 29 else: 30 print("\\033[35m你输入的商品不存在!\\033[0m") 31 elif user_gw == ‘q‘: 32 print("\\033[36m你的剩余余额为:%s\\033[0m" % salary) 33 for i in user_sp: 34 print(i) 35 exit(‘quit‘) 36 else: 37 print(‘\\033[34m输入错误!\\033[0m
字典
info = {‘stu1101‘: "tengkan wu",
‘stu1102‘:"longze luola",
‘stu1103‘:"xiaoze maliya",
}
增加
存在修改不存在添加
1 info["stu1104"] = "苍井空"
修改
1 info["stu1101"] ="武藤兰"
删除
1 info.pop("stu1101") 2 del info["stu1102"] 3 info.popitem()
查找不存在会报错
1 print(info[‘stu1101‘])
查找不存在不会报错
1 print(info.get(‘stu1101‘)
嵌套字典
1 av_catalog = { 2 "欧美":{ 3 "www.youprn.com":["很多免费的,世界最大的","质量一般"], 4 "www.pornhub.com":["很多免费的,也很大","质量比yourporn高点"], 5 "letmedothistoyou.com":["多是自拍,高质量图片很多","资源不多,更新慢"], 6 "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"] 7 }, 8 "日韩":{ 9 "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"], 10 }, 11 "大陆":{ 12 "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"] 13 } 14 }
追加操作
1 av_catalog["大陆"]["1024"][1] += "可以用爬虫爬下来"
打印keys,values
1 print(info.values()) 2 print(info.keys())
添加,不存在添加,存在不做任何操作
1 info.setdefault("stu1106",‘alex‘) 2 info.setdefault("stu1102","泷泽萝拉")
更新
1 b = {1:2,3:4,‘stu1102‘:"泷泽萝拉"} 2 info.update(b)
将字典转为列表
1 print(info.items())
这是个坑少用
dict.fromkeys([1,2,3],‘testd‘)
{1: ‘testd‘, 2: ‘testd‘, 3: ‘testd‘}
循环打印字典
1 for key in info: 2 print(key,info[key]) 3 4 5 for k,v in info.items(): 6 print(k,v)
三级菜单
1.定义字典
2.循环打印
3.让用户选择
4.循环,判断用输入的是否是数字
4.1.判断长度不可以大于字典的长度
4.2.如果用户输入的是q退出
4.3.取出用户的选择并且转换成列表
5.继续循环,判断用输入的是否是数字
5.1.判断长度不可以大于字典的长度
4.2.如果用户输入的是q退出
4.3.如果用户输入的是b退出
4.3.取出用户的选择并且转换成列表
6.继续循环,判断用输入的是否是数字
6.1.打印最后一页
6.2.如果用户输入的是q退出
6.3.如果用户输入的是b退出
1 #!/usr/bin/python env 2 # -*- encoding:utf-8 -*- 3 name = { 4 "香港":{ 5 "音乐":{ 6 "男歌手":["陈奕迅","张学友","王杰","郭富城"], 7 "女歌手":["王菲","梁咏琪","甄妮","陈慧琳"] 8 }, 9 "影视":{ 10 "男演员":["刘德华","谢霆锋","成龙","周瑞发"], 11 "女演员":["张曼玉","叶玉卿","邱淑贞","温碧霞"] 12 } 13 }, 14 "大陆":{ 15 "音乐":{ 16 "男歌手":["阿木","安琥","陈少华","戴军"], 17 "女歌手":["田震","韩晶","郭美美","王蓉"] 18 }, 19 "影视":{ 20 "男演员":["马天宇","蒋劲夫","陈学冬","李易峰"], 21 "女演员":["杨颖","唐嫣","杨幂","张馨予"] 22 } 23 } 24 } 25 26 27 28 flag = True 29 30 while flag: 31 for i,k in enumerate(name): 32 print(i,k) 33 user_1 = input(‘请输入第一级菜单,q,退出:‘) 34 if user_1 == ‘q‘: 35 flag = True 36 break 37 if user_1.isdigit(): 38 user_1 = int(user_1) 39 if user_1 <= len(name): 40 key_1 = list(name.keys())[user_1] 41 while flag: 42 for i,k in enumerate(name[key_1]): 43 print(i,k) 44 user_2 = input("请选择第二级菜单,q.退出,b.返回:") 45 if user_2 == ‘q‘: 46 flag = False 47 break 48 if user_2 == ‘b‘: 49 break 50 if user_2.isdigit(): 51 user_2 = int(user_2) 52 if user_2 <= len(name[key_1]): 53 key_2 = list(name[key_1].keys())[user_2] 54 while flag: 55 for i,k in enumerate(name[key_1][key_2]): 56 print(i,k) 57 user_3 = input("请选择三级菜单,q.退出,b返回:") 58 if user_3 == ‘q‘: 59 flag = False 60 break 61 if user_3 == ‘b‘: 62 break 63 if user_3.isdigit(): 64 user_3 = int(user_3) 65 if user_3 <= len(name[key_1][key_2]): 66 key_3 = list(name[key_1][key_2].keys())[user_3] 67 while flag: 68 for i,k in enumerate(name[key_1][key_2][key_3]): 69 print(i,k) 70 user_4 = input("最后一页,q.退出,b.返回:") 71 if user_4 == ‘q‘: 72 flag =False 73 break 74 if user_4 == ‘b‘: 75 break
以上是关于第一章的主要内容,如果未能解决你的问题,请参考以下文章