Day 15 20190130 老男孩python学习第15天 内容整理

1. 三级菜单优化  3个小时

  1 c = {
  2 
  3 }
  4 
  5 exit_flag = False
  6 
  7 while not exit_flag:
  8     choice_level_1 = input('欢迎来到国家省市区查询系统,按任意键开始查询,退出请输q:')
  9     if choice_level_1 == 'q':
 10         print('系统已退出')
 11         exit_flag = True
 12 
 13     else:
 14         while True:
 15             s_p = '省份列表'
 16             print(s_p.center(50, '-'))
 17             if len(c) == 0:
 18                 s_n = ''
 19                 print(s_n.center(50, ' '))
 20             else:
 21                 for index, i in enumerate(c.keys()):
 22                     print('%s. %s' % (index, i))
 23             print(s_p.center(50, '-'))
 24 
 25             choice_level_3 = input('输入a:增加;输入d:删除;输入e:修改;输入n:查看某省城市子列表;返回上级请输q:')
 26             if choice_level_3 == 'a':
 27                 while True:
 28                     province_add = input('请输入新增省份名称(返回上级请输q): ')
 29                     if province_add == 'q':
 30                         break
 31                     elif province_add not in c.keys():
 32                         add_confirm = input('您想要添加的省份名称为:%s,确认请输1,重新输入请输2' % province_add)
 33                         if add_confirm == '1':
 34                             c[province_add] = {}
 35                             print('%s添加成功!' % province_add)
 36                         elif add_confirm == '2':
 37                             pass
 38                         else:
 39                             print('输入有误,请重新输入')
 40                     else:
 41                         print('对不起,您要添加的省份已经在系统数据中,请勿重复添加,谢谢!')
 42             elif choice_level_3 == 'd':
 43                 while True:
 44                     province_del = input('请输入删除省份名称(返回上级请输q): ')
 45                     if province_del == 'q':
 46                         break
 47                     elif province_del in c.keys():
 48                         del_confirm = input('您想要删除的省份名称为:%s,确认请输1,重新输入请输2' % province_del)
 49                         if del_confirm == '1':
 50                             c.pop(province_del)
 51                             print('%s删除成功!' % province_del)
 52                         elif del_confirm == '2':
 53                             pass
 54                         else:
 55                             print('输入有误,请重新输入')
 56                     else:
 57                         print('对不起,您要删除的省份不在系统数据中,请重新输入,谢谢!')
 58             elif choice_level_3 == 'e':
 59                 while True:
 60                     province_edit = input('请输入要修改的省份名称(返回上级请输q): ')
 61                     if province_edit == 'q':
 62                         break
 63                     elif province_edit in c.keys():
 64                         province_new = input('请输入修改后的省份名称为:')
 65                         if province_new == province_edit:
 66                             print('对不起,新名称不能与旧名称相同,请重新输入')
 67                         elif province_new in c.keys():
 68                             print('对不起,您的修改后的新名称在省份数据库中已存在,请重新输入,谢谢')
 69                         else:
 70                             edit_confirm = input('您想要将省份%s的名称变更为%s,确认请输1,重新输入请输2' % (province_edit, province_new))
 71                             if edit_confirm == '1':
 72                                 c[province_new] = c.pop(province_edit)
 73                                 print('修改成功!%s的名字已经变为%s' % (province_edit, province_new))
 74                             elif edit_confirm == '2':
 75                                 pass
 76                             else:
 77                                 print('输入有误,请重新输入')
 78                     else:
 79                         print('对不起,您要修改的省份不在系统数据中,请重新输入谢谢!')
 80             elif choice_level_3 == 'n':
 81                 if len(c) == 0:
 82                     print('当前数据库为空,请先添加后查看,谢谢!')
 83                 else:
 84                     while True:
 85                         choice_province = input('请输入您想要查看的省份名称,输入成功后进入该省份的城市子列表(返回请输q):')
 86                         if choice_province == 'q':
 87                             break
 88                         elif choice_province in c.keys():
 89                             while True:
 90                                 s_c = '%s省城市列表' % choice_province
 91                                 print(s_c.center(50, '-'))
 92                                 if len(c[choice_province]) == 0:
 93                                     s_n = ''
 94                                     print(s_n.center(50, ' '))
 95                                 else:
 96                                     for index, i in enumerate(c[choice_province].keys()):
 97                                         print('%s. %s' % (index, i))
 98                                 print(s_c.center(50, '-'))
 99 
100                                 choice_level_4 = input('输入a:增加;输入d:删除;输入e:修改;输入n:查看某市区级子列表;返回上级请输q:')
101                                 if choice_level_4 == 'a':
102                                     while True:
103                                         city_add = input('请输入新增城市名称(返回上级请输q): ')
104                                         if city_add == 'q':
105                                             break
106                                         elif city_add not in c[choice_province].keys():
107                                             add_confirm = input('您想要添加的城市名称为:%s,确认请输1,重新输入请输2' % city_add)
108                                             if add_confirm == '1':
109                                                 c[choice_province][city_add] = {}
110                                                 print('%s添加成功!' % city_add)
111                                             elif add_confirm == '2':
112                                                 pass
113                                             else:
114                                                 print('输入有误,请重新输入')
115                                         else:
116                                             print('对不起,您要添加的城市已经在系统数据中,请勿重复添加,谢谢!')
117                                 elif choice_level_4 == 'd':
118                                     while True:
119                                         city_del = input('请输入删除城市名称(返回上级请输q): ')
120                                         if city_del == 'q':
121                                             break
122                                         elif city_del in c[choice_province].keys():
123                                             del_confirm = input('您想要删除的城市名称为:%s,确认请输1,重新输入请输2' % city_del)
124                                             if del_confirm == '1':
125                                                 c[choice_province].pop(city_del)
126                                                 print('%s删除成功!' % city_del)
127                                             elif del_confirm == '2':
128                                                 pass
129                                             else:
130                                                 print('输入有误,请重新输入')
131                                         else:
132                                             print('对不起,您要删除的城市不在系统数据中,请重新输入,谢谢!')
133 
134                                 elif choice_level_4 == 'e':
135                                     while True:
136                                         city_edit = input('请输入要修改的城市名称(返回上级请输q): ')
137                                         if city_edit == 'q':
138                                             break
139                                         elif city_edit in c[choice_province].keys():
140                                             city_new = input('请输入修改后的城市名称为:')
141                                             if city_new == city_edit:
142                                                 print('对不起,新名称不能与旧名称相同,请重新输入')
143                                             elif city_new in c[choice_province].keys():
144                                                 print('对不起,新名称在%s省城市数据库中已存在,请重新输入,谢谢' % choice_province)
145                                             else:
146                                                 edit_confirm = input(
147                                                     '您想要将城市%s的名称变更为%s,确认请输1,重新输入请输2' % (city_edit, city_new))
148                                                 if edit_confirm == '1':
149                                                     c[choice_province][city_new] = c[choice_province].pop(city_edit)
150                                                     print('修改成功!%s的名字已经变为%s' % (city_edit, city_new))
151                                                 elif edit_confirm == '2':
152                                                     pass
153                                                 else:
154                                                     print('输入有误,请重新输入')
155                                         else:
156                                             print('对不起,您要修改的城市不在系统数据中,请重新输入谢谢!')
157 
158                                 elif choice_level_4 == 'n':
159                                     if len(c[choice_province]) == 0:
160                                         print('当前数据库为空,请先添加后查看,谢谢!')
161                                     else:
162                                         while True:
163                                             choice_city = input('请您输入城市名称,输入成功后进入该城市区级子列表(返回上级请输q):')
164                                             if choice_city == 'q':
165                                                 break
166                                             elif choice_city in c[choice_province].keys():
167                                                 while True:
168                                                     s_d = '%s省%s市区级列表' % (choice_province, choice_city)
169                                                     print(s_d.center(50, '-'))
170                                                     if len(c[choice_province][choice_city]) == 0:
171                                                         s_n = ''
172                                                         print(s_n.center(50, ' '))
173                                                     else:
174                                                         for index, i in enumerate(c[choice_province][choice_city]):
175                                                             print('%s. %s' % (index, i))
176                                                     print(s_d.center(50, '-'))
177 
178                                                     choice_level_5 = input('输入a:增加;输入d:删除;输入e:修改;返回上级请输q:')
179                                                     if choice_level_5 == 'a':
180                                                         while True:
181                                                             district_add = input('请输入新增区级名称(返回上级请输q): ')
182                                                             if district_add == 'q':
183                                                                 break
184                                                             elif district_add not in c[choice_province][choice_city]:
185                                                                 add_confirm = input(
186                                                                     '您想要添加的区级名称为:%s,确认请输1,重新输入请输2' % district_add)
187                                                                 if add_confirm == '1':
188                                                                     c[choice_province][choice_city][district_add] = {}
189                                                                     print('%s添加成功!' % district_add)
190                                                                 elif add_confirm == '2':
191                                                                     pass
192                                                                 else:
193                                                                     print('输入有误,请重新输入')
194                                                             else:
195                                                                 print('对不起,您要添加的区级名称已经在系统数据中,请勿重复添加,谢谢!')
196 
197                                                     elif choice_level_5 == 'd':
198                                                         while True:
199                                                             district_del = input('请输入删除区级名称(返回上级请输q): ')
200                                                             if district_del == 'q':
201                                                                 break
202                                                             elif district_del in c[choice_province][choice_city]:
203                                                                 del_confirm = input(
204                                                                     '您想要删除的区级名称为:%s,确认请输1,重新输入请输2' % district_del)
205                                                                 if del_confirm == '1':
206                                                                     c[choice_province][choice_city].pop(district_del)
207                                                                     print('%s删除成功!' % district_del)
208                                                                 elif del_confirm == '2':
209                                                                     pass
210                                                                 else:
211                                                                     print('输入有误,请重新输入')
212                                                             else:
213                                                                 print('对不起,您要删除的区级不在系统数据中,请重新输入,谢谢!')
214                                                     elif choice_level_5 == 'e':
215                                                         while True:
216                                                             district_edit = input('请输入要修改的区级名称(返回上级请输q): ')
217                                                             if district_edit == 'q':
218                                                                 break
219                                                             elif district_edit in c[choice_province][choice_city]:
220                                                                 district_new = input('请输入修改后的区级名称为:')
221                                                                 if district_new == district_edit:
222                                                                     print('对不起,新名称不能与旧名称相同,请重新输入')
223                                                                 elif district_new in c[choice_province][choice_city]:
224                                                                     print('对不起,新名称已经存在于%s省%s市的区级列表,请重新输入' % (
225                                                                         choice_province, choice_city))
226                                                                 else:
227                                                                     edit_confirm = input(
228                                                                         '您想要将区级%s的名称变更为%s,确认请输1,重新输入请输2' % (
229                                                                             district_edit, district_new))
230                                                                     if edit_confirm == '1':
231                                                                         c[choice_province][choice_city].pop(
232                                                                             district_edit)
233                                                                         c[choice_province][choice_city][
234                                                                             district_new] = []
235                                                                         print(
236                                                                             '修改成功!%s的名字已经变为%s' % (
237                                                                                 district_edit, district_new))
238                                                                     elif edit_confirm == '2':
239                                                                         pass
240                                                                     else:
241                                                                         print('输入有误,请重新输入')
242                                                             else:
243                                                                 print('对不起,您要修改的区级不在系统数据中,请重新输入谢谢!')
244 
245                                                     elif choice_level_5 == 'q':
246                                                         break
247 
248                                                     else:
249                                                         print('对不起,您所输入的操作不存在,请重新输入,谢谢!')
250                                             else:
251                                                 print('对不起,您输入的城市名称不存在,请重新输入')
252 
253                                 elif choice_level_4 == 'q':
254                                     break
255 
256                                 else:
257                                     print('对不起,您所输入的操作不存在,请重新输入,谢谢!')
258                         else:
259                             print('对不起,您输入的省份名称不存在,请重新输入')
260 
261             elif choice_level_3 == 'q':
262                 break
263 
264             else:
265                 print('对不起,您所输入的操作不存在,请重新输入,谢谢!')
View Code

2. # 列举布尔值为False的所有值

None
False
所有值为0的数
"" 空字符串
[] 空列表
() 空元组
{} 空字典

3. 练习题

 1 利用For循环和range输出
 2 For循环从大到小输出1-100
 3 
 4 for i in range(1, 101):
 5     print(101-i)
 6 
 7 for i in range(1, 101):
 8     print(i)
 9 
10 a = 100
11 while 0< a <= 100:
12     print(a)
13     a -= 1
14 
15 
16 a = 1
17 while 0 < a <= 100:
18     print(a)
19     a += 1
20 
21 
22 for i in range(1, 10):
23     for j in range(1, 10):
24         print(i * j)
View Code







猜你喜欢

转载自www.cnblogs.com/Jack1314/p/10336844.html