第一(关于list及dict)

list

list的方法很多,这里就不写了,参考官方或其他朋友的。

字典练习

将大于66的存入在字典的k1,将小于66的存在k2

 1 ori_list = [11,22,33,44,55,66,77,88,99]
 2 all_d = {}
 3 
 4 for i in ori_list:
 5     if i > 66:
 6         all_d.setdefault('k1',[]).append(i)
 7     else:
 8         all_d.setdefault('k2',[]).append(i)
 9 
10 print(all_d)

计算单词个数,并且设置为字典的值

 1 s = 'hello good say next last good hello'
 2 l = s.split()
 3 all_d = {}
 4 
 5 
 6 for i in l:
 7     num = 1
 8     if i not in all_d:
 9         all_d[i] = 1
10     else:
11         num += 1
12         all_d[i] = num
13 
14 print(all_d)

练习1,打印省市县的脚本

  1 #!/usr/bin/env python
  2 #-*- coding:utf-8 -*-
  3 #导入相关类,为退出程序做准备
  4 import sys
  5 import os
  6 
  7 #定义省、市、县字典
  8 ProCityCountyDict = {
  9     'ShanXi':{
 10         'XiAn':{
 11             'GaoXin',
 12             'BeiLin',
 13             'YanTa'
 14         },
 15         'WeiNan':{
 16             'ChengCheng',
 17             'Pucheng',
 18             'Dali'
 19         }
 20     },
 21     'HeNan':{
 22         'ZhengZhou':{
 23             'JinShui',
 24             'HuiJi'
 25         },
 26         'LuoYang':{
 27             'XiGong',
 28             'JianXi'
 29         }
 30     },
 31     'ShangHai':{
 32         'PuTuo':{
 33             'ZhangJiang',
 34             'ChuanSha'
 35         },
 36         'PuDong':{
 37             'Zhangjiang',
 38             'ChuanSha'
 39         }
 40     }
 41 }
 42 
 43 Pbool = True
 44 
 45 while True:
 46     #开始循环省相关的字典列表的key
 47     print("Province Name List:")
 48     print("=" * 30)
 49     #定义空的省份列表
 50     ProvinceList = []
 51     for Province in ProCityCountyDict.keys():
 52         print(Province)
 53         ProvinceList.append(Province)
 54         #打印并收集省份到列表里
 55 
 56     #输入你要选择省
 57     InputProvince = input("Please choose a province: ")
 58     try:
 59         if InputProvince in ProCityCountyDict.keys():
 60             ProvinceNumber = ProvinceList.index(InputProvince)
 61 
 62             #定义输入的内容在列表的索引位置
 63             print('''
 64                     b: back to the before level
 65                     c: continue to next
 66                     q: quit the program
 67                 ''')
 68             FirstC = True
 69             #循环选择条件,如果匹配则执行,继续、返回、退出操作
 70             while FirstC:
 71                 ProvinceChoose = input("please enter b or c or q :  ")
 72                 if ProvinceChoose == 'b':
 73                     break
 74                 elif ProvinceChoose == 'c':
 75                     break
 76                 elif ProvinceChoose == 'q':
 77                     FirstC = False
 78                     Pbool = False
 79                     sys.exit(0)
 80                 else:
 81                     print("You must enter a key in list !")
 82                     continue
 83 
 84             #如果选择的是返回,则返回重新选择
 85             if ProvinceChoose == 'b':
 86                 continue
 87 
 88             Cbool = True
 89             while Cbool:
 90                 #开始循环市响应的字典列表
 91                 CityList = []
 92                 # 定义市空列表
 93                 print("City Name list is :")
 94                 print("*" * 30)
 95                 #循环打印省下的所有市
 96                 for City in ProCityCountyDict[InputProvince].keys():
 97                     print(City)
 98                     CityList.append(City)
 99                     #循环并添加城市到列表里
100                 InputCity = input("Please choose a City: ")
101                 try:
102                     if InputCity in ProCityCountyDict[InputProvince].keys():
103                         #如果输入的城市在响应的key则操作
104                         CityNumber = CityList.index(InputCity)
105                         print('''
106                                         b: back to the before level
107                                         c: continue to next
108                                         q: quit the program
109                                     ''')
110                         SecondC = True
111                         while SecondC:
112                             CityChoose = input("please enter b or c or q :  ")
113                             if CityChoose == 'b':
114                                 break
115                             elif CityChoose == 'c':
116                                 break
117                             elif CityChoose == 'q':
118                                 Cbool = False
119                                 sys.exit(1)
120                             else:
121                                 print("You must enter a key in list !")
122                                 continue
123 
124                         if CityChoose == 'b':
125                             continue
126 
127                         Xbool = True
128                         while Xbool:
129                             #开始循环县的字典相关
130                             CountyList = []
131                             #定义空的县列表
132                             print("County Name list is :")
133                             print("*" * 30)
134                             #循环打印选择所在市下的所有县
135                             for County in ProCityCountyDict[InputProvince][InputCity]:
136                                 print(County)
137                                 CountyList.append(County)
138                             InputCounty = input("Please Choose a County")
139                             try:
140                                 if InputCounty in ProCityCountyDict[InputProvince][InputCity]:
141                                     CountyNumber = CountyList.index(InputCounty)
142                                     print('''
143                                         b: back to the before level
144                                         c: continue to next
145                                         q: quit the program
146                                     ''')
147                                     Tchoose = True
148                                     while Tchoose:
149                                         CountyChoose = input("please enter b or c or q :  ")
150                                         if CountyChoose == 'b':
151                                             break
152                                         elif CountyChoose == 'c':
153                                             break
154                                         elif CountyChoose == 'q':
155                                             print("nimei")
156                                             os._exit(1)
157                                         else:
158                                             print("You must enter a key in list !")
159                                             continue
160 
161                                     if CountyChoose == 'b':
162                                         continue
163 
164                                     #打印省、市、县,通过对应列表的序列号来打印
165                                     print('''
166                                         Your choose Province: %s
167                                         Your choose City: %s
168                                         Your choose County: %s
169                                     ''' %(ProvinceList[ProvinceNumber],CityList[CityNumber],CountyList[CountyNumber]))
170 
171                                     print('''
172                                            b: back to the before level
173                                            q: quit the program
174                                     ''')
175 
176                                     LastChoose = input("please enter b or c or q :  ")
177                                     if LastChoose == 'b':
178                                         continue
179                                     elif LastChoose == 'q':
180                                         os._exit(1)
181                             except:
182                                 pass
183                     else:
184                         print("You must choose a City !")
185                 except KeyError:
186                     pass
187         else:
188             print("You must choose a province")
189     except KeyError:
190         pass
执行结果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe D:/WorkAbout/新建文件夹/s12/day01/hw01/HierarchyList.py
Province Name List:
==============================
ShanXi
HeNan
ShangHai
Please choose a province: ShanXi

                    b: back to the before level
                    c: continue to next
                    q: quit the program
                
please enter b or c or q :  c
City Name list is :
******************************
XiAn
WeiNan
Please choose a City: XiAn

                                        b: back to the before level
                                        c: continue to next
                                        q: quit the program
                                    
please enter b or c or q :  c
Please Choose a Countyq
County Name list is :
******************************
GaoXin
BeiLin
YanTa
Please Choose a CountyGaoXin

                                        b: back to the before level
                                        c: continue to next
                                        q: quit the program
                                    
please enter b or c or q :  q
nimei

Process finished with exit code 1

练习2,用户登录练习

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 import pickle
 4 import sys
 5 
 6 '''pickle 将文件持久化到文件中,初始化函数'''
 7 def initPass():
 8     passDict = {'ckl': '629888', 'zld': '880403', 'bab': '0307', 'mama': '1129'}
 9     pickleFile = open('D:\s12\day01\hw01\pass_file', 'wb')
10     pickle.dump(pass_dict, pick_file)
11     pickleFile.close()
12 
13 '''pickle 加载文件出来'''
14 passFile = open('D:\s12\day01\hw01\pass_file','rb')
15 userPassDict = pickle.load(passFile)
16 userNameList = userPassDict.keys()
17 passFile.close()
18 
19 userName = input("Please input your username: ")
20 for i in range(3):
21     '''判断用户是否存在'''
22     if userName in userNameList:
23         passWord = input("please input your password: ")
24         '''判断用户密码是否包含#,如果包含则是被锁定'''
25         if '#' not in userPassDict[userName]:
26             if passWord == userPassDict[userName]:
27                 print("welcome to user login system!")
28                 break
29             else:
30                 '''计算剩余机会'''
31                 leaveTimes = 2 - i
32                 if leaveTimes > 0:
33                     print("sorry , you have %s chance!" % leaveTimes)
34                 elif leaveTimes == 0:
35                     print("hollyshit, you must be reject and be locked!")
36                     '''如果三次机会用完,则在密码后加#,锁定用户'''
37                     userPassDict[userName] += '#'
38                     passFile = open('D:\s12\day01\hw01\pass_file', 'wb')
39                     pickle.dump(userPassDict, passFile)
40                     passFile.close()
41         else:
42             print("sorry, you have been locked!")
43             sys.exit(0)
44     else:
45         print("who are you? i dont't know you!")
46         break

 

转载于:https://www.cnblogs.com/ckl893/p/6698381.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值