作业
作业一:博客
作业二:编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
创建了一个文件夹 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