Python 基础之变量应用

作业

作业一:博客

 

作业二:编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

创建了一个文件夹 count.txt,数据如下


 

zhangsan pwd1
lisi pwd2
wangwu pwd3
zhaoliu pwd4

 

 1 import sys
 2 
 3 # 以只读的方式打开创建好的文件
 4 user_file = open("count.txt", 'r')    
 5       
 6 # 用多行读取的方式一次性读完文件,并转换成列表,但会有"\n"
 7 user_read = list(user_file.readlines())         
 8 
 9 # 创建新的列表,用来存放不带"\n"的列表
10 user_list = []              
11 for user in user_read:
12     user_list.append(user[0:(len(user) - 1)])          
13 
14 count = 0           
15 while count < 3:
16     username = input('请输入用户名:')
17     password = input('请输入密码:')
18     for user in user_list:
19         # zhangsan pwd1中间有空格,所以去掉空格,就获得了用户名和密码              
20         if user.split(" ")[0] == username and user.split(" ")[1] == password:
21             print("欢迎 %s 登录..." % username)
22         # 程序退出,和 os._exit()有区别,try...expect...中 sys.exit()会运行后面代码
23             sys.exit()          
24         else:
25             print('密码或用户名错误,请重新输入!')
26             print("*"*50)
27             break
28     count += 1
29     if count == 3:
30         print("账号输入多次请多一段时间之后再试...")
31         sys.exit()
32     continue
33 
34 user_file.close()           # 关闭文件
参考代码

 

作业三:多级菜单

  • 三级菜单
  • 可依次选择进入各子菜单
  • 所需新知识点:列表、字典

 

 1 import sys
 2 
 3 print("="*50)
 4 print("欢迎来到区域查看系统")
 5 print("="*50)
 6 
 7 print("查看省请输入0,查看市请输入1,查看县请输入2")
 8 
 9 
10 def check_info(my_index):
11     info = {"province": ["四川", "广西", "贵州"],
12             "city": ["成都市", "自贡市", "南宁市", "柳州市"],
13             "county": ["锦江区", "青羊区", "武侯区", "成华区", "龙泉驿区"]}
14     info_check = ["province", "city", "county"]
15     for pro in info[info_check[int(my_index)]]:
16         position = info[info_check[int(my_index)]].index(pro)
17         print("%d." % position, pro, end="\t")
18 
19 
20 while True:
21     my_index = input("请输入您想查看的序号:")
22     if my_index != "0" and my_index != "1" and my_index != "2":
23         print("您输入的序号有误,请重新输入!")
24         continue
25     else:
26         check_info(my_index)
27         message = input("是否继续查看,请输入 Y/N:")
28         if message == "Y":
29             print()
30             continue
31         elif message == "N":
32             print("感谢您的使用")
33         else:
34             print("输入有误,强制退出")
35         sys.exit()
参考代码

 

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:CJR
 4 menu = {
 5     '北京':{
 6         '海淀':{
 7             '五道口':{
 8                 'soho':{},
 9                 '网易':{},
10                 'google':{}
11             },
12             '中关村':{
13                 '爱奇艺':{},
14                 '汽车之家':{},
15                 'youku':{},
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 my_flag = False
49 while not my_flag:
50     for province in menu:
51         print(province)
52     my_city = input("请输入要查看省份:")
53     if my_city in menu:
54         while not my_flag:
55             for city in menu[my_city]:
56                 print("\t", city)
57             my_county = input("请输入要查看的市:")
58             if my_county in menu[my_city]:
59                 while not my_flag:
60                     for county in menu[my_city][my_county]:
61                         print("\t\t", county)
62                     my_area = input("请输入您想查看的区:")
63                     if my_area in menu[my_city][my_county]:
64                         for area in menu[my_city][my_county][my_area]:
65                             print("\t\t\t", area)
66                         my_pass = input("最后一层了按任意键返回:")
67                         continue
68                     elif my_area == "b":
69                         break
70                     elif my_area == "q":
71                         my_flag = True
72             if my_county == "b":
73                 break
74             elif my_county == "q":
75                 my_flag = True
多级菜单 plus

 

 

 

 

 

转载于:https://www.cnblogs.com/dongqunren/p/10163009.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值