Python运维开发之路《数据类型》

一. python数据类型

  python的五大基本数据类型,数字、字符串、列表、元组、字典;其他数据类型,类型type、Null、文件、集合、函数/方法、类、模块。

1.数字

 1 ①整型
 2 十进制转八进制
 3 oct(10)
 4 十进制转十六进制
 5 hex(10)
 6 ②长整型(目前python3里已经取消)
 7 >>> type(2**31)
 8 <type 'long'>
 9 >>> type(2**30)
10 <type 'int'>
11 ③布尔
12 >>> bool(0)
13 False
14 >>> bool(1)    #非零数字自带的布尔值都是True
15 True
16 >>> bool("hello")    #非空的字符串布尔值都是True
17 True
18 ④浮点
19 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。
20 ⑤复数
21 Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。

 2. 字符串

 1 msg = 'hello world'                           #定义变量msg
 2 
 3 >>> print(msg.count('l',4,10))                  #统计次数;计算字符串出现的次数,顾头不顾尾
 4 1
 5 
 6 >>> print(msg.capitalize)                       #每个单词首字母大写
 7 Hello world
 8 
 9 >>> print(msg.center(50,'*'))                   #用50个字符打印msg,多余部分用*表示
10 *******************hello world********************
11 
12 >>> print(msg.endswith('d'))                    #查看msg变量是否以d结尾
13 True
14 
15 >>> print(msg.expandtabs(tabsize=20))           #tab键用20个字符表示
16 
17 >>> print('{} {}'.format('name','agr'))         #赋值给{},必须按照位置一对一赋值
18 name agr
19 print('{0} {1} {0}'.format('name','agr'))
20 name agr
21 
22 >>> print(msg.index('l'))                       #查看索引位如果查不到就报错
23 2
24 
25 >>> print(msg.find('b'))                        #查找索引位如果查不到用-1表示
26 -1
27 
28 >>> print(msg.isalnum())                        #字母和数字都行
29 False
30 
31 >>> print(msg.isalpha())                        #只能是字母
32 False
33 
34 >>> print(msg.isdecimal())                      #是否是十进制
35 False
36 
37 >>> print(msg.isdigit())                        #是否是整型数字
38 False
39 
40 >>> print(msg.isnumeric())                      #是否是数字
41 False
42 
43 >>> print(msg.isidentifier())                   #是否一个单词包含内置关键字
44 False
45 
46 >>> print(msg.islower())                        #是否是小写(全部是小写)
47 True
48 
49 >>> print(msg.isspace())                        #是否是空格
50 False
51 
52 >>> print(msg.istitle())                           #是否是标题(一个单词只有首字母大写)
53 False
54 
55 >>> print(msg.isupper())                        #是否是大写
56 False
57 
58 >>> print(msg.ljust(50,'*'))                    #字符串内容左对齐
59 hello*********************************************
60 
61 >>> print(msg.rjust(50,'#'))                    #字符串内容右对齐
62 #############################################hello
63 
64 >>> msg = 'HELLO WORLD'
65 >>> print(msg.lower())                           #将大写转换成小写
66 hello world
67 
68 >>> msg = 'hello world'
69 >>> print(msg.upper())                          #将小写转换成大写
70 HELLO WORLD
71 
72 >>> msg = '\tHello World'
73 >>> print(msg)
74         Hello World
75 >>> print(msg.lstrip())                            #去掉左边空格
76 Hello World
77 
78 >>> print(msg.rstrip())                            #去掉右边空格
79 Hello World
80 
81 >>> print(msg.zfill(20))                          #右对齐,不够的位数0填充,可指定宽度
82 000000000hello world

3. 列表

 1 增加
 2 names.append('zhangzhenxing')                  #追加
 3 names.insert(2,'liusijia')                              #插入
 4 
 5 删除
 6 names.remove('zhangzhenxing')                  #删除值
 7 del names[3]                                             #通过下标删除
 8 names.pop[3]                                            #默认删除最后一个,可以通过下标删除
 9 
10 修改
11 names[2] = '王旭'                                        #直接修改下标
12 
13 查询
14 print(names[2])                                          #下标查看
15 print(names[0::2])
16 print(names[-3:])
17 print(names[:3])
18 names.index('wangxu')                                #取这个元素的下标
19 
20 统计
21 count   print('count',names.count('wudonghang'))    #统计出现次数
22 clear   names.clear                                              #清空列表
23 extend  names.extend(n2)                                  #合并列表
24 reverse names.reverse()                                     #反转
25 sort    names.sort()                                            #通过ascii码表排序
26 copy    names.copy()                                          #拷贝列表
27             

 二、购物车程序

1. 流程图

2.程序

 1 commodity_list = [['Iphone',5088],['Mac Pro',12888],['Bike',2088],['Starbucks Coffee',33],['GoogleSRE Book',90]]
 2 shopping_cart = []
 3 
 4 salary = input('>>>>>请输入薪水:')
 5 if salary.isdigit():
 6     salary = int(salary)
 7     while True:
 8         for index,list in enumerate(commodity_list):
 9             print(index,list)                                  #打印列表元素,并标识下标
10         product_id = input('>>>>>请输入商品编号(q退出):')        #输入元素下标
11         if product_id.isdigit():                               #判断是否为数字,true继续,false提示输入错误
12             product_id = int(product_id)
13             if product_id >= 0 and len(commodity_list):
14                 commodity = commodity_list[product_id]
15                 if commodity[1] <= salary:
16                     shopping_cart.append(commodity)
17                     salary -= commodity[1]
18                     print('您好!已将商品\033[31;1m%s\033[0m添加到购物车,已付款\033[31;1m%s\033[0mRMB,账户余额\033[31;1m%s\033[0mRMB!'%(commodity,commodity[1],salary))
19                 else:
20                     print('您好!您的余额[%sRMB]不足以购买此商品!'%salary)
21         elif product_id == 'q':
22             print('----------shopping list-----------')
23             shopping_cart2 = []
24             for i in shopping_cart:                                #去重,追加到shopping_cart2
25                 if not i in shopping_cart2:
26                     shopping_cart2.append(i)
27             for index,j in enumerate(shopping_cart2):
28                 sum_list = j[1] * shopping_cart.count(j)            #单价乘以数量
29                 print(index,j,'*',shopping_cart.count(j),'=',sum_list)
30             exit(print('\n谢谢光临!您的余额剩余:\033[31;1m%s RMB\033[0m'%salary,'\n---------------END----------------'))
31     else:
32         print("错误!您输入的商品编码不存在!")
33 else:
34     print('你是猴子请来的都比么,想打劫啊!!!')

三、三级菜单

1.程序

 1 date = {
 2         '北京':{
 3                 '昌平':{
 4                         '沙河':['oldboy','阿泰包子'],
 5                         '天通苑':['链家地产','我爱我家']
 6                         },
 7                 '朝阳':{
 8                         '双井':['富力城','UME'],
 9                         '三里屯':['阿迪达斯','优衣库']
10                         },
11                 '海淀':{
12                         '中关村':['E世界','新中关'],
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 
46 
47 while True:
48         for j in date:
49                 print(j)
50         provinces = input('请选择要进入的省份>>>>>:')
51         if provinces in date:
52                 while True:
53                         for j1 in date[provinces]:
54                                 print('可选择的城市如下:',j1)
55                         city = input('请选择进入的城市(b返回上一层,q退出)>>>>>:')
56                         if city in date[provinces]:
57                                 while True:
58                                         for j2 in date[provinces][city]:
59                                                 print('可选择城区如下:',j2)
60                                         district = input('请选择进入的城区(b返回上一层,q退出)>>>>>:')
61                                         if district in date[provinces][city]:
62                                                 for j3 in  date[provinces][city][district]:
63                                                         print('街道或标志性企业:',j3)
64                                                 street = input('最后一层展示,请按b返回,q退出>>>>>:')
65                                                 if street == 'b':
66                                                         break
67                                                 elif street == 'q':
68                                                         exit('菜单栏展示结束!')
69                                         if street == 'b':
70                                                 break
71                                         elif street == 'q':
72                                                 exit('菜单栏展示结束!')
73                                 if district == 'b':
74                                         break
75                                 elif district == 'q':
76                                         exit('菜单栏展示结束!')
77                         if city == 'b':
78                                 break
79                         elif city == 'q':
80                                 exit('菜单栏展示结束!')
81         if provinces == 'b':
82                 print('消遣哥呢?玩一把吧~~~')
83         elif provinces == 'q':
84                 exit('看看就走了啊!无趣~~~')

 

 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_levl = menu
46 list_levl = []
47 
48 while True:
49     for key in current_levl:
50         print(key)
51     choies = input('要进入的层级:').strip()
52     if len(choies) == 0:continue
53     if choies == 'b':
54         if len(list_levl) == 0 :break
55         current_levl = list_levl[-1]
56         list_levl.pop()
57     if choies not in current_levl:continue
58     list_levl.append(current_levl)
59     current_levl = current_levl[choies]

 

posted @ 2016-10-21 00:30  白日梦想家Zz  阅读(439)  评论(0编辑  收藏  举报