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退出整个程序 思路:三级菜单第一级别是省,第二级别是市,第三级别是县,用户 ...
随机推荐
- mongodb 中的Multikey Index Bounds解释$elemMatch
首先说一下 $elemMatch的用法: { _id: 1, results: [ 82, 85, 88 ] } { _id: 2, results: [ 75, 88, 89 ] } $elemMa ...
- iptables基础知识详解
iptables防火墙可以用于创建过滤(filter)与NAT规则.所有Linux发行版都能使用iptables,因此理解如何配置 iptables将会帮助你更有效地管理Linux防火墙.如果你是第一 ...
- nginx 安装配置+清缓存模块安装
经过一段时间的使用,发现 nginx 在并发与负载能力方面确实优于 apache,现在已经将大部分站点从 apache 转到了 nginx 了.以下是 nginx 的一些简单的安装配置.环境操作系统: ...
- 关于centos7下/etc/sysconfig/目录没有iptables问题
在新买的centos7服务器中想打开防火墙,采用传统centos6的方式用service iptables restart/stop/status 之后报错: 而在/etc/sysconfig/目录下 ...
- 【P2476】着色方案(记忆化搜索+特殊的DP数组)
这个题代码难度几乎为0,然而思维难度对于蒟蒻来说简直是突破天际啊!首先我思考的是这个油漆的种类只有15种,是不是可以像一道叫做8数码难题的东西暴力15维数组呢..计算发现不可以....空间会直接让你学 ...
- mongodb,redis简单学习
2.mongodb安装配置简单学习 配置好数据库路径就可以mongo命令执行交互操作了:先将服务器开起来:在开个cmd执行交互操作 ...
- Datax官方笔记总结
# DataX DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.SQL Server.Oracle.PostgreSQL.HDFS.Hive.HBase.OTS. ...
- java hasmap对象的深复制实现:字节码复制和对象序列化成字符串复制比较。
/** * Created by Administrator on 2016/11/23. */ public class test { public static void main(String[ ...
- tyvj 1402 乌龟棋 dp
P1402 [NOIP2010]乌龟棋 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2010提高组复赛第二题 描述 小明过生日的时候,爸爸送给他一 ...
- Python显示百分比
print(format(a/b,'.2%')) 显示两位小数的百分比显示