Python语言小程序练习一之登陆接口
龚超 2018-04-13 来源 : 阅读 984 评论 0

摘要:在Python语言中,练习是不可或缺的一部分,本文通过具体的案例说明,让我们从中学到Python语言的关键所在,让我们在今后学习和使用的时候能够更加熟练的运用它们,从而让自己获得更大的提升。

登陆接口并实现猜数字游戏

l 输入用户名密码

l 认证成功后显示欢迎信息

l 进行猜数字游戏,可猜三次

l 输错三次后锁定

1、Adduser.py

# The author is tou

import pickle

#初始化用户以及密码

user_dict = {"admin":{"passwd":"admin","flag":"unlock"}}  #字典

 

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

with open("admin.txt","wb+",)as f_write:

    pickle.dump(user_dict,f_write)

with open("admin.txt","rb+")as f_read:

    x = pickle.load(f_read)

print(x)

 

添加用户

2、Log In.py

# The author is tou

import pickle

import random

 

with open("admin.txt","rb+") as f:        #载入用户账户密码信息

    user_dict = pickle.load(f)

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

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

 

print("*********欢迎登陆************".center(10))

while True:

    user = input("请输入账号:").strip()   #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():          #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

                        if retry_count == 3:

                            print("三次机会已用完,幸运数字是%s"%real_num)

                            break

 

                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("admin.txt","wb+") as f:

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

                    user_dict = pickle.dump(user_dict,f)  #修改后的数据写到admin.txt中

                print("**************************************************")

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

                break

    else:

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

        continue

 

    if exit_flag:

        break

print("拜拜!!!")

 

登录开始游戏

本文由职坐标整理并发布,了解更多内容,请关注职坐标编程语言Python频道!

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长针对企业软件开发的产品设计及开发的细节与流程设计课程内容。座右铭:大道至简!

  • 370
    文章
  • 23521
    人气
  • 87%
    受欢迎度

已有23人表明态度,87%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
WEB前端必须会的基本知识题目
经验技巧 93% 的用户喜欢
Java语言中四种遍历List的方法总结(推荐)
经验技巧 91% 的用户喜欢
Java语言之SHA-256加密的两种实现方法详解
经验技巧 75% 的用户喜欢
java语言实现把两个有序数组合并到一个数组的实例
经验技巧 75% 的用户喜欢
通过Java语言代码来创建view的方法
经验技巧 80% 的用户喜欢
其他海同师资 更多>>
吕益平
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程