通过游戏学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("请输入正确的按键>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")