码迷,mamicode.com
首页 > 其他好文 > 详细

第一章

时间:2017-03-19 15:28:34      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:odi   hang   退出   区别   index   quit   amp   图片   f11   

本节内容

  1. 列表、元组操作
  2. 字符串操作
  3. 字典操作
  4. 集合操作
  5. 文件操作
  6. 字符编码与转码

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
View Code

字典

info = {‘stu1101‘: "tengkan wu",
‘stu1102‘:"longze luola",
‘stu1103‘:"xiaoze maliya",
}

增加

存在修改不存在添加

技术分享
1 info["stu1104"] = "苍井空"
View Code

修改

技术分享
1 info["stu1101"] ="武藤兰"
View Code

删除

技术分享
1 info.pop("stu1101")
2 del info["stu1102"]
3 info.popitem()
View Code

查找不存在会报错

技术分享
1 print(info[stu1101])
View Code

查找不存在不会报错

技术分享
1 print(info.get(stu1101)
View Code

嵌套字典

技术分享
 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 }
View Code

追加操作

技术分享
1 av_catalog["大陆"]["1024"][1] += "可以用爬虫爬下来"
View Code

打印keys,values

技术分享
1 print(info.values())
2 print(info.keys())
View Code

添加,不存在添加,存在不做任何操作

技术分享
1 info.setdefault("stu1106",alex)
2 info.setdefault("stu1102","泷泽萝拉")
View Code

更新

技术分享
1 b = {1:2,3:4,stu1102:"泷泽萝拉"}
2 info.update(b)
View Code

将字典转为列表

技术分享
1 print(info.items())
View Code


这是个坑少用
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)
View Code

三级菜单

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
View Code

 

第一章

标签:odi   hang   退出   区别   index   quit   amp   图片   f11   

原文地址:http://www.cnblogs.com/hanwei999/p/6580272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!