您的位置:首页 > 编程语言 > Python开发

python学习06-简易登录接口测试,使用元组和字典实现三级菜单

2019-01-09 22:58 633 查看

 示例:登录接口
       1、输入用户名密码
       2、验证成功后显示欢迎信息
       3、输错三次后锁定

[code]
# 示例一:登录接口
#  输入用户名密码
#     验证成功后显示欢迎信息
#     输错三次后锁定
#

# 导入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、所需新知识:列表、字典

[code]# 多级菜单

# 三级菜单<省/市/县>
#     可依此选择进入各子菜单
#     任意级都可以退出程序
#     所需新知识:列表、字典

# 导入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] ) )

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: