Python小程序练习一之登陆接口

匿名 (未验证) 提交于 2019-12-02 22:51:30

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

 

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 进行猜数字游戏,可猜三次
  • 输错三次后锁定

1、Adduser.py

 1 # The author is tou  2 import pickle  3 #初始化用户以及密码  4 user_dict = {"admin":{"passwd":"admin","flag":"unlock"}}  #字典  5   6 #把账号,密码保存到文件中  7 with open("admin.txt","wb+",)as f_write:  8     pickle.dump(user_dict,f_write)  9 with open("admin.txt","rb+")as f_read: 10     x = pickle.load(f_read) 11 print(x)
添加用户

2、Log In.py

 1 # The author is tou  2 import pickle  3 import random  4   5 with open("admin.txt","rb+") as f:        #载入用户账户密码信息  6     user_dict = pickle.load(f)  7 exit_flag = False                         #初始化锁定的状态为false  8 count_lock = 0                            #初始化账号锁定次数为0次  9  10 print("*********欢迎登陆************".center(10)) 11 while True: 12     user = input("请输入账号:").strip()   #strip()的作用是在输入账号密码的时候去掉你输入数据中最前面或者最后面的空格 13     if user == "":continue                #用户名为空,重新输入 14     passwd = input("请输入密码:").strip() 15  16     #判断是否存在输入的账号 17     if user_dict.get(user): 18         #判断账号是否锁定,锁定则退出 19         if user_dict[user]["flag"] == "lock": 20             print("账号已经锁定,请解锁!") 21             break 22         #验证密码是否正常 23         if user_dict[user]["passwd"] == passwd: 24             while True: 25                 guess_choise = input("你要开始玩猜数字游戏吗?(选择yes或no):").strip() 26                 if guess_choise == "":continue 27                 elif guess_choise =="yes": 28                     print("欢迎登陆Python自动化开发――猜数字游戏系统") 29                     print("******************************************") 30                     print("猜数字的范围在1到10之间") 31                     real_num = random.randrange(1,11)  #随机生成1到10之间的一个数字 32                     retry_count = 0 33                     while retry_count<3: #有3次机会猜数字 34                         guess_num = input("请输入你猜的数字:").strip() 35                         if guess_num == "":continue 36                         if guess_num.isdigit():          #isdigit() 方法检测字符串是否只由数字组成。 37                             guess_num = int(guess_num) 38                             if guess_num > real_num: 39                                 print("错误,请输入一个小一点的数字!") 40                             elif guess_num < real_num: 41                                 print("错误,请输入一个大一点的数字!") 42                             else : 43                                 print("恭喜你,猜到你的幸运数字%s!!!"%real_num) 44                                 break 45                         else: 46                             print("输入的不是数字,请重新输入一个数字") 47                             continue 48                         retry_count +=1 49                         if retry_count == 3: 50                             print("三次机会已用完,幸运数字是%s"%real_num) 51                             break 52  53                 elif guess_choise == "no":               #不想猜数字游戏,则直接退出系统 54                     print("欢迎再次登录!") 55                     exit_flag = True 56                     break 57                 else: 58                     print("你输入的不是yes或者no,请重新输入") 59                     continue 60         else: 61             count_lock +=1  #密码不正确,统计输错次数 62             if(3-count_lock): 63                 print("账号或密码错误,还有%s次机会尝试登陆!"%(3-count_lock)) 64  65             if count_lock == 3:  #若锁定次数有3次,就锁定账号 66                 with open("admin.txt","wb+") as f: 67                     user_dict["admin"]["flag"] = "lock"   #标记账号admin为锁定状态 68                     user_dict = pickle.dump(user_dict,f)  #修改后的数据写到admin.txt中 69                 print("**************************************************") 70                 print("账号被锁定,请解锁!") 71                 break 72     else: 73         print("输入的账号不存在,请重新输入!") 74         continue 75  76     if exit_flag: 77         break 78 print("拜拜!!!")
登录开始游戏

 

转载:文章出处

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!