python 登录接口_Python之登录接口

输入用户名密码

认证成功后显示欢迎信息

输错三次后锁定

1、流程图

883080-20160128193825582-978975019.png

2、解锁账号

账号被锁定后,执行解锁脚本代码即可。

# -*- coding:utf-8 -*-

# version:python3.5

import pickle

# 初始化用户以及密码

user_dict = {'admin':{'passwd':'admin','flag':'unlock'}}

# 把账号、密码保存到文件中

with open('account.pkl','wb') as f:

pickle.dump(user_dict, f)

3、登录接口,有选择猜数字游戏选项

输入正确账号密码后,可以选择玩猜数字游戏。猜数字游戏由系统随机生成一个1到10的数字,有3次机会猜数字。

#!/usr/bin/env python3

# -*- coding:utf-8 -*-

# Version:python3.5.0

import pickle

import os

import random

with open('account.pkl','rb') as f: # 载入用户账户密码信息

user_dict = pickle.load(f)

exit_flag = False #初始化锁定的状态为false

count_lock = 0 # 初始化账号锁定次数为0次

print('**********************************')

while True:

user = input('请输入账号: ').strip()

if user == '':continue # 用户名为空,重新输入

passwd = input('请输入密码: ').strip()

# 判断是否存在输入的账号

if user_dict.get(user):

# 判断账号是否锁定,锁定则退出。

if user_dict[user]['flag'] == 'lock':

print('账号已经锁定,请解锁!')

break

# 验证密码是否正确

if user_dict[user]['passwd'] == passwd:

while True:

guess_choise = input('你要开始玩猜数字游戏么?(选择yes或no): ').strip()

if guess_choise == '':continue

elif guess_choise == 'yes':

print('欢迎登陆Python自动化开发--猜数字系统')

print('*******************************************')

print('猜数字的范围在1到10之间.')

real_num = random.randrange(1,11) # 随机生成1到10之间的一个数字

retry_count = 0

while retry_count < 3: # 有3次机会猜数字

guess_num = input('请输入你猜的数字: ').strip()

if guess_num == '':continue

if guess_num.isdigit():

guess_num = int(guess_num )

if guess_num > real_num :

print('错误,请输入一个小一点的数字!')

elif guess_num < real_num :

print('错误,请输入一个大一点的数字!')

else:

print('恭喜你,猜到你幸运的数字 %s !!!' % real_num)

break

else:

print('输入的不是数字,请重新输入一个数字')

continue

retry_count +=1

else:

print('哦哦,幸运数字是 %s,下次肯定会猜中的哦!' % real_num)

print('-------------------------------------')

elif guess_choise == 'no': # 不想猜数字游戏,则直接退出系统

print('欢迎再次登录!')

exit_flag = True

break

else:

print('你输入的不是yes或者no,请重新输入。')

continue

else:

count_lock += 1 # 密码不正确,统计输错次数

if (3 - count_lock):

print('账号或密码错误,还有 %s 次机会尝试登陆!' % (3-count_lock))

if count_lock == 3: # 若锁定次数有3次,就锁定账号

with open('account.pkl','wb') as f:

user_dict['admin']['flag'] = 'lock' # 标志账号admin为锁定状态

user_dict = pickle.dump(user_dict, f) # 修改后数据写到 account.pkl中

print('*******************************************')

print('账号被锁定,请解锁!')

break

else:

print('输入的账号不存在,请重新输入!')

continue

if exit_flag: # 在猜数字游戏中,选择no,则直接退出整个程序

break

print('Bye bye!')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值