day01 作业
标准版
#!/usr/bin/env python# -*- coding: utf-8 -*-username = "wangwu"password = "123"lock_count = 0for i in range(3): username_input = input("请输入用户名:") if username_input == username and lock_count < 3: password_input = input("请输入密码:") if password_input == password: print("欢迎登陆!") break print("用户名密码错误!") lock_count += 1 print("%s您已经登陆失败%s次。" % (username_input, lock_count)) elif username_input == username and lock_count == 3: print("您的账户被锁定,请联系管理员aaa!") break else: print("用户名密码错误!")
文件版(单文件)
创建一个文件pwd.txt内容如下
www:123:0
wangwu:234:1zz:345:0#!/usr/bin/env python# -*- coding: utf-8 -*-user_list = [] pwd_list = []lock_list = []all_list = []with open('pwd.txt', 'r') as pwd_file: #读取文件内容添加到相应列表中 for i in pwd_file: all_list.append(i.strip()) user_list.append(i.split(":")[0]) pwd_list.append(i.split(":")[1]) lock_list.append(int(i.split(":")[2]))for i in range(3): #循环三次 username_input = input("请输入用户名:") if username_input in user_list: username_id = user_list.index(username_input) #取index位置 username = user_list[username_id] password = pwd_list[username_id] lock_count = lock_list[username_id] #锁定次数计数 if username_input == username and lock_count < 3: #用户名正确并且没有锁定的用户 password_input = input("请输入密码:") if password_input == password: #密码正确 print("欢迎登陆!") break else: print("用户名密码错误!") lock_count += 1 lock_list[username_id] = lock_count #锁定次数计数 all_list[username_id] = "%s:%s:%s" % (username, password, lock_count) with open('pwd.txt', 'w') as write_file: #锁定次数写入文件 for j in all_list: write_file.write(j+"\n") if lock_count == 3: print("%s您已经登陆失败%s次,用户已锁定!" % (username_input, lock_count)) break else: print("%s您已经登陆失败%s次。" % (username_input, lock_count)) elif username_input == username and lock_count >= 3: print("您的账户被锁定,请联系管理员aaa!") break else: print("用户名密码错误!")
多级菜单操作
#!/usr/bin/env python# -*- coding: utf-8 -*-city_dict = { "北京市": { "海淀区": ["中关村", "上地", "西二旗"], "朝阳区": ["望京", "四惠", "大望路"], "东城区": ["东直门", "东单", "王府井"], "西城区": ["西直门", "西单", "宣武门"] }, "上海市": { "静安区": ["江宁路", "南京西路", "静安寺"], "普陀区": ["甘泉路", "宜州路", "石泉路"], "徐汇区": ["徐家汇", "田林", "龙华"] }, "广州市": { "天河区": ["天河北", "石牌", "员村"], "黄埔区": ["鱼珠", "大沙地", "文冲"], "珠海区": ["新港", "客村", "南岗"] }}while True: print("hello world!:") city_list = list(city_dict.keys()) for k, v in enumerate(city_list): print(k, v) input_city = input("请输入城市序号:") city_name = city_list[int(input_city)] area_list = list(city_dict[city_name].keys()) while True: for a, b in enumerate(area_list): print(a, b) input_area = input("请输入区域序号,输入b返回上级菜单,输入q退出程序:") if input_area == "b": print("您已经返回上级:") break elif input_area == "q": print("程序退出!") exit() else: area_name = area_list[int(input_area)] road_list = city_dict[city_name][area_name] while True: for c, d in enumerate(road_list): print(c, d) input_road = input("请输入路序号,输入b返回上级菜单,输入q退出程序:") if input_road == "b": print("您已经返回上级:") break elif input_road == "q": print("程序退出!") exit() else: road_name = road_list[int(input_road)] print(road_name) exit()