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

Python程序1——登录接口编写

时间:2017-10-23 21:46:17      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:write   lin   模块   判断   密码   use   inpu   span   认证   

作业二:编写登陆接口

  • 输入用户名密码
  • 认证成功后显示欢迎信息
  • 输错三次后锁定

http://www.cnblogs.com/alex3714/articles/5465198.html

自己写的第一个长一点的Python程序,当作纪念啦~

要在e盘里面有四个文件才可以运行哦~

 1 #! /usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:Ku
 4 
 5 record_num = open(re:\first week\record_num.txt, r)  # 用来记录用户密码以及尝试过的用户的数量
 6 
 7 # 提取用户数量以及尝试过的用户名数量
 8 num_username = int(record_num.readline().rstrip())
 9 num_record_username = int(record_num.readline().rstrip())
10 #print(num_username,num_record_username)
11 record_num.close()
12 
13 count = 1   #指示尝试的次数
14 
15 while count <= 3:
16 
17     username = input("Please enter your username:")     #输入模块
18 #password = getpass.getpass("Please enter your password:")
19     password = input("Please enter your password:")
20 
21 
22     user = open(re:\first week\username.txt, r)   #文件打开模块
23     passwd = open(re:\first week\passwd.txt, r)
24 
25 
26     trid_name = 0   #这个模块来判断是否这个用户名尝试过很多次
27     with  open(re:\first week\record_name.txt, r) as record_tried_name:
28         for i in range(num_record_username):
29 
30           #  record_buffer = record_tried_name.readline().rstrip()
31             if username == record_tried_name.readline().rstrip():
32                 print("This account have tried too many times!")
33                 trid_name = 1
34                 break
35     if trid_name == 1:
36         break
37 
38     user_valid = 0  #用来标记用户名是否有效
39 
40     j = 0  # 用来标记有效用户名的编号
41 
42     for i in range(num_username):
43         username_buffer = user.readline().rstrip()     #用来暂时存储用户名,可以不用
44         if username == username_buffer:
45             user_valid = 1
46             j = i         # record the which username is right
47             break
48 
49     if user_valid == 0:
50         print("Your account is not valid")
51         count += 1
52         if count >= 4:
53             print("Sorry you‘ve tried too many times")
54 
55             with  open(re:\first week\record_name.txt, a) as record_tried_name:   #该模块用来写入尝试过很多次的账户
56                 record_tried_name.write("%s\n"%username)
57 
58                 num_record_username += 1  # 这个模块来记录记录的账户数量的变化
59                 with open(re:\first week\record_num.txt, w) as change:
60                     change.write("%s\n" % num_username)
61                     change.write("%s\n" % num_record_username)
62 
63             record_tried_name.close()
64             break   #跳出while循环
65 
66     else:
67         login_success = 0
68         for l in range(num_username):        #l作为指针指示第几行
69             passwd_buffer = passwd.readline().rstrip()
70             if l == j:       #如果l与登录用户的顺序一致,则进入之后的判断
71                 if password == passwd_buffer:
72                     print("yes,%s is in!"% username)
73                     login_success = 1
74                     break #跳出for循环
75 
76                 else:
77                     print("Your password is wrong!")
78                     count += 1
79                     if count >=4:
80                         print("Sorry you‘ve tried too many times")
81                         with  open(re:\first week\record_name.txt, a) as record_tried_name:  #用来写入尝试过很多次的账户
82                             record_tried_name.write("%s\n" % username)
83 
84                             num_record_username +=1    #这个模块来记录记录的账户数量的变化
85                             with open(re:\first week\record_num.txt, w) as change:
86                                 change.write("%s\n"%num_username)
87                                 change.write("%s\n"%num_record_username)
88 
89                         record_tried_name.close()
90         if login_success == 1:
91             break   #跳出while循环,成功登录
92     user.close()   #关文件
93     passwd.close()   #关文件

 

 

#! /usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Ku

record_num = open(r‘e:\first week\record_num.txt‘, ‘r‘) # 用来记录用户密码以及尝试过的用户的数量

# 提取用户数量以及尝试过的用户名数量
num_username = int(record_num.readline().rstrip())
num_record_username = int(record_num.readline().rstrip())
#print(num_username,num_record_username)
record_num.close()

count = 1 #指示尝试的次数

while count <= 3:

username = input("Please enter your username:") #输入模块
#password = getpass.getpass("Please enter your password:")
password = input("Please enter your password:")


user = open(r‘e:\first week\username.txt‘, ‘r‘) #文件打开模块
passwd = open(r‘e:\first week\passwd.txt‘, ‘r‘)


trid_name = 0 #这个模块来判断是否这个用户名尝试过很多次
with open(r‘e:\first week\record_name.txt‘, ‘r‘) as record_tried_name:
for i in range(num_record_username):

# record_buffer = record_tried_name.readline().rstrip()
if username == record_tried_name.readline().rstrip():
print("This account have tried too many times!")
trid_name = 1
break
if trid_name == 1:
break

user_valid = 0 #用来标记用户名是否有效

j = 0 # 用来标记有效用户名的编号

for i in range(num_username):
username_buffer = user.readline().rstrip() #用来暂时存储用户名,可以不用
if username == username_buffer:
user_valid = 1
j = i # record the which username is right
break

if user_valid == 0:
print("Your account is not valid")
count += 1
if count >= 4:
print("Sorry you‘ve tried too many times")

with open(r‘e:\first week\record_name.txt‘, ‘a‘) as record_tried_name: #该模块用来写入尝试过很多次的账户
record_tried_name.write("%s\n"%username)

num_record_username += 1 # 这个模块来记录记录的账户数量的变化
with open(r‘e:\first week\record_num.txt‘, ‘w‘) as change:
change.write("%s\n" % num_username)
change.write("%s\n" % num_record_username)

record_tried_name.close()
break #跳出while循环

else:
login_success = 0
for l in range(num_username): #l作为指针指示第几行
passwd_buffer = passwd.readline().rstrip()
if l == j: #如果l与登录用户的顺序一致,则进入之后的判断
if password == passwd_buffer:
print("yes,%s is in!"% username)
login_success = 1
break #跳出for循环

else:
print("Your password is wrong!")
count += 1
if count >=4:
print("Sorry you‘ve tried too many times")
with open(r‘e:\first week\record_name.txt‘, ‘a‘) as record_tried_name: #用来写入尝试过很多次的账户
record_tried_name.write("%s\n" % username)

num_record_username +=1 #这个模块来记录记录的账户数量的变化
with open(r‘e:\first week\record_num.txt‘, ‘w‘) as change:
change.write("%s\n"%num_username)
change.write("%s\n"%num_record_username)

record_tried_name.close()
if login_success == 1:
break #跳出while循环,成功登录
user.close() #关文件
passwd.close() #关文件

Python程序1——登录接口编写

标签:write   lin   模块   判断   密码   use   inpu   span   认证   

原文地址:http://www.cnblogs.com/Ian-learning/p/7718887.html

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