python编程 基础入门练习题一——登录接口及三级菜单

本节内容:

1、编写登陆接口

输入用户名密码

认证成功后显示欢迎信息

输错三次后锁定(需要用到文件)


2、多级菜单

三级菜单(省市县)

可依次选择进入各子菜单

所需新知识点:列表、字典

 

1.编写登陆接口                                                                                                                                                           

流程图:

 

代码:

 1 #-*- coding:utf-8 -*-
 2 #Author:'Yang'
 3 
 4 users=['Rose']
 5 passwds=['abc123']
 6 
 7 
 8 count=0
 9 while count<3:
10     username=input("用户名:")
11     password=input("密码:")
12     count+=1
13     if username==users[0] and password==passwds[0]:
14         print("%s 欢迎登陆" %username)
15     else:
16         print("无效的用户名密码。")
17 
18 print("---------------------------------------------------------")
19 
20 print("对不起,您的密码输入错误已达三次,账户被锁定,请联系客服。")
21 f=open('locked_file','a')
22 f.write("用户名 %s 已被锁定\n" %username)
23 f.close()

 

2.多级菜单                                                                                                                                                                 

 流程图:

代码:

 1 #-*- coding:utf-8 -*-
 2 #Author:'Yang'
 3 
 4 
 5 data_dict={
 6    "上海":{
 7       "黄浦区":{},
 8       "徐汇区":{},
 9       "静安区":{},
10       "虹口区":{}
11 },
12    "江苏":{
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       "温州市":{
48          "文成县",
49          "永嘉县",
50          "平阳县"
51       },
52       "嘉兴市":{
53          "嘉善县",
54          "海盐县",
55          "南湖区"
56       }
57    }
58 }
59 
60 # for province in data_dict:
61 #    print(province)
62 #    for city in data_dict[province]:
63 #       print("-",city)
64 #       for town in data_dict[province][city]:
65 #          print(" -",town)
66 
67 province_choice=input("Please select Province:")
68 for province in data_dict:
69    if province_choice==province:
70       print(province_choice)
71       for city in data_dict[province_choice]:
72          print("-",city)
73       city_choice=input("Please select City:")
74       for town in data_dict[province_choice][city_choice]:
75          print(" -",town)

 优化代码1:

 1 #-*- coding:utf-8 -*-
 2 #Author:'Yang'
 3 
 4 import sys
 5 
 6 data_dict={
 7    "上海":{
 8       "黄浦区":{},
 9       "徐汇区":{},
10       "静安区":{},
11       "虹口区":{}
12 },
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       },
48       "温州":{
49          "文成县",
50          "永嘉县",
51          "平阳县"
52       },
53       "嘉兴":{
54          "嘉善县",
55          "海盐县",
56          "南湖区"
57       }
58    }
59 }
60 
61 while True:
62    for province in data_dict:
63       print(province)
64    province_choice=input("请选择进入省\直辖市,选择q退出程序>>:")
65    if province_choice in data_dict:
66       while True:
67          for city in data_dict[province_choice]:
68             print("-",city)
69          city_choice=input("请选择进入市\区,选择b返回上一层,选择q退出程序>>:")
70          if city_choice in data_dict[province_choice]:
71             for town in data_dict[province_choice][city_choice]:
72                print(" -",town)
73             choice=input("最后一层,请选择b返回上一层,选择q退出程序>>:")
74             if choice=="b":
75                pass
76             elif choice=="q":
77                sys.exit()
78          if city_choice=="b":
79             break
80          elif city_choice=="q":
81             sys.exit()
82    if province_choice=="q":
83       sys.exit()

 优化代码2:

  1 #-*- coding:utf-8 -*-
  2 #Author:'Yang'
  3 
  4 '''
  5 #program summary#
  6 多级菜单
  7    三级菜单(省市县)
  8    可依次选择进入各子菜单
  9    所需新知识点:列表、字典
 10 '''
 11 import sys
 12 
 13 data_dict={
 14    "上海":{
 15       "黄浦":{"1"},
 16       "徐汇":{"2"},
 17       "静安":{"3"},
 18       "虹口":{"4"}
 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          "下城区",
 48          "桐庐县"
 49       },
 50       "宁波":{
 51          "江北区",
 52          "象山县",
 53          "余姚市"
 54       },
 55       "温州":{
 56          "文成县",
 57          "永嘉县",
 58          "平阳县"
 59       },
 60       "嘉兴":{
 61          "嘉善县",
 62          "海盐县",
 63          "南湖区"
 64       }
 65    }
 66 }
 67 
 68 while True:
 69    for province in data_dict:
 70       print(province)
 71    #省\直辖市选择判断
 72    province_choice=input("请选择进入省\直辖市,选择q退出程序>>:")
 73    if province_choice in data_dict:
 74       while True:
 75          for city in data_dict[province_choice]:
 76             print("-",city)
 77          #市\区选择判断
 78          city_choice=input("请选择进入市\区,选择b返回上一层,选择q退出程序>>:")
 79          if city_choice in data_dict[province_choice]:
 80             while True:
 81                for town in data_dict[province_choice][city_choice]:
 82                   print(" -",town)
 83                #最后一层选择判断
 84                choice=input("最后一层,请选择b返回上一层,选择q退出程序>>:")
 85                if choice=="b":#输入b返回上一层
 86                   pass
 87                elif choice=="q":#输入q退出程序
 88                   sys.exit()
 89                elif choice in data_dict[province_choice][city_choice]:
 90                   print("警告:这已经是最后一层!")
 91                else:
 92                   print("无效输入,请重新输入!")
 93          elif city_choice=="b":#输入b返回上一层
 94             break
 95          elif city_choice=="q":#输入q退出程序
 96             sys.exit()
 97          else:
 98             print("无效输入,请重新输入!")
 99    if province_choice=="q":#输入q退出程序
100       sys.exit()
101    else:
102       print("无效输入,请重新输入!")
View Code

 

posted on 2017-06-14 10:50  奔跑的蜗牛~~  阅读(210)  评论(0)    收藏  举报

导航