zoukankan      html  css  js  c++  java
  • 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile

     
    通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile
     
     1 #猜数字--核心代码--猜测次数--随机函数和屏蔽错误代码---优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile'
     2 #!usr/bin/env python
     3 #-*-coding:utf-8-*-
     4 #QQ124111294
     5 
     6 #一定要把menufile.py放在同一个目录下
     7 
     8 import random     #调用系统随机模块
     9  
    10 
    11 number = random.randint(1,99)#设定答案(可以假设成年龄吧)
    12 amount = random.randint(3,8) #设定猜测次数
    13 
    14 count = 0  #设定初始次数
    15 print('本次游戏次数为',amount,'')
    16 
    17 
    18 import menufile   #调用自定义目录模块--同目录下的menufile.py文件
    19 menu = menufile.menu()           #给自定义目录模块重新定义变量,为了给新手好读而已
    20 whitelist = menufile.whitelist   
    21 blacklist = menufile.blacklist
    22 
    23 menu #使用自定义目录模块的功能
    24 
    25 
    26 num = 3 #定义锁定账号的次数
    27 while num > 0 : #如果密码错误次数超过退出密码输入
    28     user = input('请输入账号: ')
    29     pwd  = input('请输入密码: ')
    30 
    31     try:
    32         if user in whitelist and user not in blacklist:
    33             print('您的用户正常!')
    34 
    35             
    36             if pwd == menufile.whitelist[user]:
    37                 print("-------欢迎登陆成功-------")
    38                 while count <= amount:   #条件成立无限循环
    39                     try:
    40                         guess = int(input('请猜数字'))
    41 
    42                         if guess == number:   #条件判断为真执行
    43                             print('猜对了')
    44                             break
    45                         elif guess > number:  #if判断不为真执行
    46                             print('大了')
    47                         else:                 #if和elif都不成立执行
    48                             print('小了')
    49 
    50                         count +=1 #修改初始次数+1
    51 
    52                         if count == amount:   #根据条件判断
    53                             countine = input('任意键重新开始,“N”键退出游戏')
    54                             if countine != 'n' :    #设置退出按键
    55                                 count = 0           #修改初始次数
    56                             else:
    57                                 exit()              #退出程序
    58                     except:
    59                         print('请输入数字,而不是其他')
    60             else:
    61                 num -= 1 #定义锁定账号的次数
    62                 print("密码错误,密码错误3次将被锁定")
    63                 
    64         elif user in whitelist and user in whitelist:
    65             print('您的用户已经被锁定,请联系商家解锁!')
    66             menu #使用自定义目录模块的功能
    67         else:
    68             print('您输入用户不存在,请先注册')
    69             menu #使用自定义目录模块的功能
    70     except:
    71        print('账号不存在,请重新输入')
    72        menu #使用自定义目录模块的功能
    73 
    74 else:
    75     lock = blacklist[user] = pwd 
    76     print("密码试错次数已经满,您的用户已经被锁定!")
    77     menu #使用自定义目录模块的功能
    78     print(whitelist)
    79     print(blacklist)
    80 
    81 
    82 
    83 
    84 
    85 
    86 
    87 
    88 
    89 
    90     
    一定要把menufile.py放在同一个目录下
     1 #通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile
     2 
     3 #此文件为  副文件 必须和 主文件放在 同一个目录
     4 
     5 #此文件只能保存为   menufile.py  否则主文件无法找到
     6 
     7 #!usr/bin/env python
     8 #-*-coding:utf-8-*-
     9 #QQ124111294
    10 
    11 
    12 whitelist = {'xp':'123456','win':'456789'}#设置账号密码
    13 blacklist = {'xp':'123456','xxx':'897541'}#锁定账号的列表
    14 
    15 def change():       
    16     modify = input('修改密码,请输入账号:')
    17     again  = input('修改密码,请重置密码:')
    18     again2 = input('请再次确认密码:')
    19     if again==again2:
    20         changename='''
    21                     ----恭喜!密码修改成功...!---
    22                         用户名:{name}
    23                         密  码:{password}
    24                         请牢记您的用户名与密码
    25                    '''    
    26         print(changename.format(name=modify,password=again))
    27         setup = whitelist[modify] = again
    28         print(whitelist)
    29 
    30 def tofind():
    31     num = 3 #定义锁定账号的次数
    32     while num > 0 : #如果密码错误次数超过退出密码输入
    33         Looking = input('密码找回,请输入账号:')
    34         if Looking  in whitelist:
    35             restore = whitelist.get(Looking)
    36             print('此账号密码为',restore)
    37             num -= 3
    38         else:
    39             num -= 1
    40             print("没有此账号!请重新输入!!!")
    41 
    42 
    43 
    44 def new():
    45     name=input("请输入您要注册的用户名:")
    46     if name not in whitelist:
    47         print("恭喜!该用户名可以被注册!>>>")
    48         password=input('请输入密码:')
    49         password2=input('请再次确认密码:')
    50         if password==password2:
    51             newname = '''
    52                      ----恭喜您用户注册成功!-----
    53                             用户名:{name}
    54                             密  码:{password}
    55                             请牢记您的用户名与密码
    56                       '''
    57             print(newname.format(name=name,password=password))
    58             add = whitelist[name] = password
    59             print(whitelist)
    60 
    61     else:
    62         print("该用户名已经被注册啦!请重新来过<<<")
    63 
    64 def menu():
    65     while True:
    66         print('                          ')
    67         print('----欢迎来到猜数字游戏----')
    68         print('按0,退出,按1,注册账号,按2,密码找回,按3,修改密码,按4,进入游戏')
    69         menu = input('请输入要操作的选项:')
    70         
    71         if menu == '0':
    72             exit()
    73         elif menu == '1':
    74             new()
    75         elif menu =='2':
    76             tofind()
    77         elif menu == '3':
    78             change()
    79         elif menu == '4':
    80             break
    81 
    82         else:
    83             print("请输入正确的按键>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
    menufile.py
  • 相关阅读:
    四种常用正则表达式
    解读tomcat的server.xml文件
    存储过程与函数的区别
    Servlet如何处理一个请求?
    Oracle归档模式相关
    常用几个Struts2标签
    Js中比较时间大小
    传值出现中文乱码问题
    JAVA常用转义符
    HDU 5967(LCT)
  • 原文地址:https://www.cnblogs.com/ujq3/p/7269851.html
Copyright © 2011-2022 走看看