码迷,mamicode.com
首页 > 编程语言 > 详细

999-Python-程序练习题

时间:2017-10-20 13:24:20      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:for循环   username   用户输入   失败   hang   zhang   readlines   else   span   

 

1、登录程序练习

技术分享
 1 Readme = open(Readme.txt,w)
 2 
 3 Readme.write(‘‘‘该代码为登录系统的小Demo,还有很多不完善的地方。
 4 主要功能如下:
 5 登录成功,打印欢迎消息;失败三次,锁定用户(目前只能锁定第三次输入错误的账户,未能实现同一账户输入错误三次才锁定的功能)
 6 
 7 ‘‘‘)
 8 
 9 Readme.close()  #关闭文件
10 
11 #生成用户信息文件
12 user_account = open(user_account.txt,w)
13 
14 user_account.write(‘‘‘zhangsan zhangsan
15 alex alex
16 eric eric
17 ‘‘‘)
18 
19 user_account.close()  #关闭文件
20 
21 #生成空的黑名单文件
22 lock_account = open(lock_account.txt,a)  #这里不能用‘w‘,否则每次重新运行程序后,之前存储的黑名单用户会被格式化。
23 
24 lock_account.close()  #关闭文件
25 
26 
27 count = 3  #最大尝试次数
28 retry = 1 #当前尝试次数
29 
30 while retry <= count :  #尝试次数不超过最大尝试次数进入while循环
31   Username = input("请输入用户名: “).strip().lower()   #去掉空格和不区分大小写
32 
33   #输入用户名后先进入黑名单判断
34   blacklists = open(lock_account.txt,r)     #打开黑名单用户文件
35   locked_users = blacklists.readlines()  #按行读取,结果为列表
36 
37   for lock_user in locked_users:  #取出列表元素
38     if lock_user.rstrip() == Username:
39       print("你的用户已被锁定,请联系管理员处理。")
40   
41   blacklists.close()  #关闭文件
42   
43   if len(Username) == 0:  #检查输入是否为空
44     print("输入不能为空,请重新输入。")
45   else:
46     Password = input("请输入密码: ”).strip()  #让用户输入密码
47     flag = False
48 
49     whitelists = open(user_account.txt,r)   #打开白名单用户文件
50     normal_users = whitelist.readlins()  #按行读取,结果为列表
51     
52     for normal_user in normal_users:
53       user,pwd = normal_user.rstrip().split()  #取出的元素为用户名和密码,要将其分割,分别赋值给两个变量
54         if user == Username  and pwd == Password:
55           print("欢迎%s登录系统。" %(Username.title())
56           flag = True
57           break  #跳出当前for循环
58     
59     whiltelists.close()  #关闭文件
60 
61     if flag = True:
62       break  #跳出while循环
63     else:
64       if retry < 3:  #当第三次尝试错误后,不打印该消息
65         print("用户名或密码输入错误,请重新输入。剩余重试次数%d" %(count-retry))
66       retry += 1
67 else:  #即尝试次数大于三次后
68 
69   print("用户尝试次数过多,已被锁定!")
70 
71   new_lock = open(lock_account.txt,a)  #这里不能用‘w‘模式,否则会格式化之前保存的黑名单用户
72   
73   new_lock.write( .join([\n,Username])  #用户名(换行)写入黑名单
74 
75   new_lock.close()  #关闭文件
View Code

 

999-Python-程序练习题

标签:for循环   username   用户输入   失败   hang   zhang   readlines   else   span   

原文地址:http://www.cnblogs.com/Druidchen/p/7698749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!