#!/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作业---登录接口及多级菜单的更多相关文章

  1. day1作业--登录接口

    作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定     知识: 1.循环的使用: 2.continue,break在循环中中断的作用: 3.文件的写入,读取: 4.各基础知 ...

  2. day1作业登录接口总结

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 上面作业,用了几种思路来解决问题:但是本质上其实都是一样的:核心都是对文件的操作,文件的增删改查:并且这些操 ...

  3. day1作业--登录入口

    作业概述: 编写一个登录入口,实现如下功能: (1)输入用户名和密码 (2)认证成功后显示欢迎信息 (3)输错三次后锁定 流程图: readme: 1.程序配置文件: 黑名单文件blacklist.t ...

  4. Python作业--登录接口

    作业需求: 编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 1.从文件获取用户名密码 2.判断是否在黑名单中 3.验证用户名密码 成功:输出认证成功 错误:判断验证次 ...

  5. python学习,day1作业:设计一个三级菜单

    设计一个三级菜单,要求能够下钻,能够推出,比较笨的方法 # coding=utf-8 # Author: RyAn Bi data = { 'beijing':{ 'changping':{ 'wud ...

  6. day1作业二:多级菜单操作

    作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 思路: (1)首先定义好三级菜单字典: (2)提 ...

  7. day1作业二:多级菜单操作(函数实现)

    作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下 ...

  8. day1作业:登录接口

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 思路: (1)用户输入用户名: (2)去锁定文件中验证用户名是否锁定: (3)去当前用户验证用户是否存在: ...

  9. day1 作业二:多级菜单操作

    作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入b返回上一层,输入q退出整个程序 思路:三级菜单第一级别是省,第二级别是市,第三级别是县,用户 ...

随机推荐

  1. Go Log模块生成日志文件

    使用log模块示例代码: package main import ( "fmt" "time" "log" "os" ) ...

  2. SSH或者SSM开发web,mysql数据库,数据库配置文件配置不当~数据库读写数据乱码问题解决办法。

    相信,大家都有遇到过在传入一个中文string,debug自己的每一行代码时,都发现始终是没有乱码的(即:排除了,源码文件的编码格式是没问题的),但是数据进入数据库之后就是乱掉了. 那么很明显问题就出 ...

  3. MVC 中 System.Web.Optimization 找不到引用

    在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimizatio ...

  4. 如何在myEclipse中创建配置文件,比如:XXX.properties

    myEclipse是没有直接生成配置文件的方法,除非去配置某些插件. 目前通用的方法是:随便新建一个文件(比如:XXX.xml),然后对该文件重命名,改成XXX.properties即可. 很简单有没 ...

  5. JavaScript -- 练习 window 流氓广告

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Linux 解压压缩命令

    一.概述: 1.压缩命令: 命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径. 2.解压缩命令: 命令格式:t ...

  7. Android dependency has different version.You should manually set the same version via DependencyReso

    有时候导入一些module时,会出现以下问题 Android dependency 'com.android.support:support-v4' has different version for ...

  8. sql 触发器回顾

    一: 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约束. 二: SQL Server为每个触发器 ...

  9. jmeter-察看结果树-响应数据,中文显示乱码问题处理

    第一步: 打开路径:jmeter\bin\jmeter.properties 文件 第二步: 文件中默认编码为:ISO-8859-1 修改为utf-8 sampleresult.default.enc ...

  10. SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...