#!/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. iOS上架被拒原因及解决办法

    简单的记录一下,近期APP上架所遇到的坑爹事儿吧!! 第一次提交: 第二天给了回复,内容如下: .Guideline - Performance - Software Requirements You ...

  2. VCFtools

    The C++ executable module examples This page provides usage examples for the executable module. Exte ...

  3. LeetCode——same-tree

    Question Given two binary trees, write a function to check if they are equal or not. Two binary tree ...

  4. POJ 3667 & HDU 3308 & HDU 3397 线段树的区间合并

    看到讲课安排上 线段树有一节课"区间合并" 我是迷茫的 因为并没有见过 然后了解了一下题目 发现以前写过 还是很麻烦的树链剖分 大概是 解决带修改的区间查询"连续问题&q ...

  5. Java -- 数据库 多表操作,1对多,多对多,1对1。 基于dbutils框架

    1. 1对多,部门--员工 为例, 多的一方建外键. domain,建立bean对象 public class Department { private String id; private Stri ...

  6. 语音03_TTS_C#示例代码

    参考网址: (1)TTS-零基础入门-10分钟教你做一个语音功能 http://blog.csdn.net/u010176014/article/details/47326413 (2).TTS-零基 ...

  7. RGB(16进制)_转_TColor

    ZC:内存中 COLORREF就是一个DWORD(从定义"COLORREF = DWORD;"就可以看出来),但是 具体的byte R/G/B 的位置是怎么方式的? ZC:Wind ...

  8. hibernate报错org.hibernate.SessionException: Session was already closed

    org.hibernate.SessionException: Session was already closedat org.hibernate.internal.SessionImpl.clos ...

  9. canvas绘制多角形小练习

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. SARG

    SARG (Searchable Arguments)操作,因为它通常是指一个特定的匹配,一个值得范围内的匹配或者两个以上条件的AND连接.   中文名 SARG 全    称 Searchable ...