Day1作业---登录接口及多级菜单
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Ma Qing data = { "山东" :{
"济南" :{
"济南市" :{
"市中区" :{},
"历下区" :{},
"天桥区" :{},
"槐荫区" :{},
"历城区" :{},
"长清区" :{},
},
"章丘市" :{},
},
"青岛" :{
"青岛市" :{
"市南区" :{},
"市北区" :{},
"城阳区" :{},
"四方区" :{},
"李沧区" :{},
"黄岛区" :{},
"崂山区" :{},
},
"胶南市" :{},
"胶州市" :{},
"平度市" :{},
"莱西市" :{},
"即墨市" :{},
},
"烟台" :{
"烟台市" : {
"芝罘区" :{},
"莱山区" :{},
"开发区" :{},
"福山区" :{},
"高新区" :{},
"牟平区" :{},
},
"招远市" : {},
"龙口市" : {},
"莱州市" : {},
"蓬莱市" : {},
},
"潍坊" :{},
"淄博" :{},
"滨州" :{},
"济宁" :{},
"枣庄" :{},
},
"北京" :{},
"上海" :{},
}
exit_flag = False
while not exit_flag:
for i in data:
print(i) choice = input("选择进入>>:")
if choice in data:
while not exit_flag:
for j in data[choice]:
print("\t",j)
choice2 = input("选择进入>>:")
if choice2 in data[choice]:
while not exit_flag:
for k in data[choice][choice2]:
print("\t",k)
choice3 = input("选择进入3:")
if choice3 in data[choice][choice2]:
for v in data[choice][choice2][choice3]:
print("\t\t",v)
choice4 = input("最后一层,按b返回!")
if choice4 == "b":
pass
elif choice4 == "q":
exit_flag = True
if choice3 == "b":
break
elif choice3 == "q":
exit_flag = True
if choice2 == "b":
break
elif choice2 == "q":
exit_flag = True
三级菜单初版
作业一:编写登录接口
- 输入用户密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
作业二:多级菜单
- 三级菜单
- 可一次选择进入各子菜单
- 所需新知识点:列表、字典
count = 0
exit_flag = False
_username = input("请输入用户名:")
lock_file = open("account_lock","r+")
lock_list = lock_file.readlines()
for lock_line in lock_list:
if _username == lock_line.strip(): #删除空行
print("账号已被锁定!")
break #跳出for。。
else:
user_file = open("account","r")
user_list = user_file.readlines() #这里要用.readlines()
for user_line in user_list:
username,password=user_line.split(",") #分割赋值
if _username == username :
while not exit_flag:
if count <3:
_password = input("请输入密码:")
if _password == password:
print("登录成功!")
exit_flag = True
break #终止for循环
else:
print("账号或密码错误,请重新登录!")
count +=1
user_file.close()
else:
print("账号已被锁定")
lock_file.write("\n")
lock_file.write(_username)
exit_flag = True
else:
print("账号不存在!")
登录接口初版
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Ma Qing data = { "山东" :{
"济南" :{
"济南市" :{
"市中区" :{},
"历下区" :{},
"天桥区" :{},
"槐荫区" :{},
"历城区" :{},
"长清区" :{},
},
"章丘市" :{},
},
"青岛" :{
"青岛市" :{
"市南区" :{},
"市北区" :{},
"城阳区" :{},
"四方区" :{},
"李沧区" :{},
"黄岛区" :{},
"崂山区" :{},
},
"胶南市" :{},
"胶州市" :{},
"平度市" :{},
"莱西市" :{},
"即墨市" :{},
},
"烟台" :{
"烟台市" : {
"芝罘区" :{},
"莱山区" :{},
"开发区" :{},
"福山区" :{},
"高新区" :{},
"牟平区" :{},
},
"招远市" : {},
"龙口市" : {},
"莱州市" : {},
"蓬莱市" : {},
},
"潍坊" :{},
"淄博" :{},
"滨州" :{},
"济宁" :{},
"枣庄" :{},
},
"北京" :{},
"上海" :{},
}
exit_flag = False
while not exit_flag:
for i in data:
print(i) choice = input("选择进入>>:")
if choice in data:
while not exit_flag:
for j in data[choice]:
print("\t",j)
choice2 = input("选择进入>>:")
if choice2 in data[choice]:
while not exit_flag:
for k in data[choice][choice2]:
print("\t",k)
choice3 = input("选择进入3:")
if choice3 in data[choice][choice2]:
for v in data[choice][choice2][choice3]:
print("\t\t",v)
choice4 = input("最后一层,按b返回!")
if choice4 == "b":
pass
elif choice4 == "q":
exit_flag = True
if choice3 == "b":
break
elif choice3 == "q":
exit_flag = True
if choice2 == "b":
break
elif choice2 == "q":
exit_flag = True
三级菜单初版
Day1作业---登录接口及多级菜单的更多相关文章
- day1作业--登录接口
作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 知识: 1.循环的使用: 2.continue,break在循环中中断的作用: 3.文件的写入,读取: 4.各基础知 ...
- day1作业登录接口总结
作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 上面作业,用了几种思路来解决问题:但是本质上其实都是一样的:核心都是对文件的操作,文件的增删改查:并且这些操 ...
- day1作业--登录入口
作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...
- Python作业--登录接口
作业需求: 编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 1.从文件获取用户名密码 2.判断是否在黑名单中 3.验证用户名密码 成功:输出认证成功 错误:判断验证次 ...
- python学习,day1作业:设计一个三级菜单
设计一个三级菜单,要求能够下钻,能够推出,比较笨的方法 # coding=utf-8 # Author: RyAn Bi data = { 'beijing':{ 'changping':{ 'wud ...
- day1作业二:多级菜单操作
作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 思路: (1)首先定义好三级菜单字典: (2)提 ...
- day1作业二:多级菜单操作(函数实现)
作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下 ...
- day1作业:登录接口
作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 思路: (1)用户输入用户名: (2)去锁定文件中验证用户名是否锁定: (3)去当前用户验证用户是否存在: ...
- day1 作业二:多级菜单操作
作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入b返回上一层,输入q退出整个程序 思路:三级菜单第一级别是省,第二级别是市,第三级别是县,用户 ...
随机推荐
- MySQL数据库基本操作(四)
在进行查询之前,我们要先建好关系表,并往数据表中插入些数据.为查询操作做好准备. 五张关系表的创建: #创建并进入数据库: mysql> CREATE DATABASE `info`; Quer ...
- MongoDB快速入门(五)- Where子句
RDBMS Where子句等效于MongoDB 查询文档在一些条件的基础上,可以使用下面的操作 操作 语法 示例 RDBMS等效语句 Equality {<key>:<value&g ...
- C++字符串操作库函数
#include <bits/stdc++.h> using namespace std; int main() { ]="; ]="abcdefg"; ]= ...
- 如何在java代码中调用一个web项目jsp或者servlet
有时候需要调用一个web项目的jsp或者servlet,但是执行内部的代码,并不是打开jsp,例如需要在一段java代码中清除一个web项目中的缓存,那么可以把清除缓存的代码放在该web项目的一个se ...
- How to Delete using INNER JOIN with SQL Server?
https://stackoverflow.com/questions/16481379/how-to-delete-using-inner-join-with-sql-server You need ...
- java学习小笔记(三.socket通信)【转】
三,socket通信1.http://blog.csdn.net/kongxx/article/details/7288896这个人写的关于socket通信不错,循序渐进式的讲解,用代码示例说明,运用 ...
- 可编辑的div模仿文本框缓存(使用AUTOCOMPLETE属性,off是不缓存,on是缓存(默认))
用session实现的, 1.进当前页面就从session(a)中取( sessionStorage.getItem )(不管存在不存在,后续有合理的存储和删除); 2.离开当前页时删除这个sessi ...
- Navicat 导入Excel与增加主键
1.当你需要导入某Excel文件时,你必须把这个lxsl文件用Excel先打开(与其他软件的导入有点不太,其他会报错已占用之类的) 2.设置主键 当你打开你导入的Excel文件时,会显示无主键,需要你 ...
- 红米1S.线刷
ZC:遇到问题:“Missmatching image and device”,解决网址:“[2.23][史上最全]MiFlash线刷错误的那些事儿_收藏备用_小米手机4_MIUI论坛.html”(h ...
- 自己动手写OpenStack的QoS功能(4)
本文地址:http://blog.csdn.net/spch2008/article/details/9283561 数据库相应操作已完成,对OVS-Plugin进行修改. 在quantum\plug ...