编写登录接口
http://www.cnblogs.com/wupeiqi/articles/5433893.html
作业一:编写登录接口
输入用户名和秘密
认证成功后显示欢迎信息
输错三次后锁定用户名(在没解锁前,再次输入锁定的用户名则直接锁定)
---------------
练习列表的各种方法的应用
copy
reverse
sort
pop
extend
index
count
list[::2] 默认步长为1
len
del
声明一个列表,然后找出有多少个9,把它变成999
同时找出所有34,把它删除
------------------------
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Author:woodman
'''
参考了博客,win下运行出错 getpass支持有问题
http://www.cnblogs.com/BIGMOM
'''
import getpass
importos
username = "woodman"
password = "tshare365"
os.system('touch black_user')
count = 0
#读取黑名单的内容
bf = open('black_user','r')
lock_file = bf.read()
bf.close()
print("Please input your username and password !")
name = input('请输入用户名:')
#判断输入的用户名是否在黑名单内,如果在则不允许继续输入密码
#for i in range(1):
if lock_file == name:
print("对不起,您的用户名已锁定,暂时不允许使用!")
exit()
# else:
# continue
while count < 3:
# name = input('请输入用户名:')
passwd = getpass.getpass('请输入密码:')
if name == username and passwd == password :
print("欢迎登录找茬系统!")
break
else:
print("用户名或密码错误")
count +=1
if count == 3:
print("对不起,您输入的密码错误次数已达3次,将锁定您的账户!")
bf = open('black_user', 'w')
bf.write('%s' % name)
bf.close()
-----------------
作业二:多级菜单
三级菜单
可依次进入各级子菜单
所需知识:列表、字典.
provincial ={
'北京市':{
'朝阳区':['万达','腾讯','阿里巴巴'],
'东城区':['百度','Facebook','天猫'],
'海淀区':['海尔','饿了吗','阿里妈妈'],
},
'福建省':{
'福州市':['福清区','州山区','行政区'],
'龙岩市':['烟草区','岩区','龙区'],
'莆田市':['玉石区','瓷器区','金银区'],
},
'重庆市':{
'九龙坡区':['杨家平','毛线沟','白市驿'],
'渝中区':['大坪','两路口','文化宫'],
'江北区':['机场','红旗河沟','观音桥'],
},
}
welcome_msg = 'Welcom to China'.center(40,"=")
print(welcome_msg)
jump_flag = False #用于跳槽循环
count = 0
while jump_flag is not True:
#for flag in range(3):
count +=1
lan_count = 0
for i in provincial: # 遍历字典
print(i)
print("End".center(40, "-"))
greater_china = input("请输入你要查看的省市名称:")
if count > 3:
jump_flag = True
print("错误次数过多,再见")
if greater_china in provincial: # 检测输入的名称是否在字典中
gc_name = provincial[greater_china]
pro_name = gc_name.keys()
while jump_flag is not True:
lan_count += 1
if lan_count > 2:
jump_flag = True
print("错误次数过多,再见")
break
print("市级地区".center(40,"-"))
for i in pro_name:
print(i)
print("End".center(40,"-"))
back_or_quit = input("继续回车,输入【b|Back】是返回上级菜单;"
"输入【q|Quit】是退出系统")
if back_or_quit == "q" or back_or_quit == "Quit":
jump_flag = True # 用于跳槽循环
# exit("Bye") # 跳出当此循环
break
if back_or_quit == "b" or back_or_quit == "Back":
break # 跳出当此循环
city_name_input = input("请输入你要查找的城市名称:")
if city_name_input in pro_name: #判断是否存在pro_name
city_name = provincial[greater_china][city_name_input]
print("县级地区".center(40,"-"))
for i in city_name:
print(i)
print("End".center(40, "-"))
if city_name_input not in pro_name:
print("输入错误,请重新输入:")
continue #跳出当次迭代,开始下一次
back_or_quit = input("输入回车或【b|Back】返回上级菜单;"
"输入【q|Quit】是退出系统")
if back_or_quit == "q" or back_or_quit == "Quit":
jump_flag = True # 用于跳槽循环
#exit("Bye") # 跳出当此循环
break
elif back_or_quit == "b" or back_or_quit == "Back":
continue
else:
pass
浙公网安备 33010602011771号