示例:登录接口
1、输入用户名密码
2、验证成功后显示欢迎信息
3、输错三次后锁定
# 示例一:登录接口
# 输入用户名密码
# 验证成功后显示欢迎信息
# 输错三次后锁定
#
# 导入getpass包,用于密码的密文输入
import getpass
# 定义变量,模拟用户名
userName = "xm"
# 定义变量,模拟密码
userPass = "xm"
# 打开用户锁文件
userLock = open( "E:\\vsCode_workspace\\day_03\\userLock.txt" , "w+" )
# 读取文件内容
fileInfo = userLock.readline()
# 循环验证用户输入的用户名和密码是否匹配,如果匹配则反馈给用户登录成功,如果三次不匹配则反馈给用户该账户已被锁定,并终止程序
for i in range( 3 ) :
# 打印输出提示用户,如果三次输入的用户名或密码错误,则该用户将被锁定
print( "警告!如果您输入的用户名或密码错误超过三次,则您的账户将被锁定" )
# 定义变量,用于保存用户输入的用户名
newUserName = input( "请输入您的用户名:" )
# 定义变量,用于保存用户输入的密码
newUserPass = getpass.getpass( "请输入您的密码:")
# 判断文件锁中是否有该账户
if fileInfo == newUserName :
# 用户账户被锁定,打印输出提示,您输入的账户已被锁定,请联系管理员
print( "您输入的账户已被锁定,请联系管理员." )
# 结束程序
break
if userName == newUserName and userPass == newUserPass :
# 用户名和密码输入正确,打印输出登录成功
print( "登录成功" )
#结束循环
break
# 判断变量i的值是否等于2,如果等于二则说明用户三次输入用户名或密码错xm误
if i == 2 :
# 打印输出提示用户,您的账户已被锁定,请联系管理员
print( "您的账户已被锁定,请联系管理员" )
# 在文件锁中存入该账户
userLock.write( newUserName )
示例:三级菜单<省/市/县>
1、可依此选择进入各子菜单
2、任意级都可以退出程序
3、所需新知识:列表、字典
# 多级菜单
# 三级菜单<省/市/县>
# 可依此选择进入各子菜单
# 任意级都可以退出程序
# 所需新知识:列表、字典
# 导入sys包
import sys
# 定义一级菜单名
proviceList = [ "天津市" , "北京市" ]
# 定义二级菜单名
tupleTwoList = { "1":["和平区","河东区","河西区","南开区"] , "2":["东城区","西城区"] }
# 定义三级菜单名
tupleThreeList = { "11":[["青镇"]] , "12":["青镇"] , "13":["青镇"] , "14":["青镇"] , "21":["青镇"] , "22":["青镇"] }
# 定义元组,用于保存用户选择的地址
selectAddress = []
# for循环打印输出一级菜单列表
for i in range( len(proviceList) ) :
# 打印输出一级菜单
print( i+1 , "、" , proviceList[ i ] )
1
# 取得用户输入一级菜单信息
inputCode = input( "请选择您喜欢的省份:" )
if inputCode == "q" :
# 打印提示信息,结束程序
print( "退出程序。")
#退出程序
sys.exit()
else :
# 取得元组中天津市的列表
twoList = tupleTwoList.get( inputCode )
# 保存天津市
selectAddress.append( proviceList[ int( inputCode ) -1 ] )
# 循环打印输出二级菜单
for j in range( len( twoList ) ) :
# 打印输出二级菜单
print( j + 1 , "、" , twoList[ j ] )
# 取得用户输入二级菜单信息
twoInpuCode = input( "请选择您喜欢的区域:")
if twoInpuCode == "q" :
# 提示用户退出程序
print( "退出程序" )
# 退出程序
sys.exit()
else :
# 取得选项中的县/镇
threeList = tupleThreeList.get( "{oneCode}{twoCode}".format( oneCode = inputCode , twoCode = twoInpuCode ) )
# 保存区域
selectAddress.append( twoList[ int( twoInpuCode ) - 1 ] )
# for循环打印输出三级菜单
for k in range( len( threeList ) ) :
# 打印输出菜单
print( k + 1 , "、" , threeList[ k ] )
# 取得用户输入的三级菜单信息
threeInputCode = input( "请选择您喜欢的小镇或县城:" )
if threeInputCode == "q" :
# 提示用户退出程序
print( "退出程序。" )
# 退出程序
sys.exit()
else :
# 保存小镇信息
selectAddress.append( threeList[ int( threeInputCode ) - 1 ])
# 打印输出选择的结果
print( "您喜欢的地址是:{p}{q}{z}".format( p = selectAddress[0] , q = selectAddress[1] , z = selectAddress[2] ) )