网络编程
位置:首页>> 网络编程>> Python编程>> Python基础练习之用户登录实现代码分享

Python基础练习之用户登录实现代码分享

作者:Bigberg  发布时间:2023-11-06 10:59:37 

标签:python,用户登录

python版本为python3.5

1.要求

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

2.需求分析

1)用户信息存储在文件中(login/config/user_login.txt)
2)用户输入用户名和密码
3)判断用户名是否存在,存在则继续,不存在则提示继续输入
4)判断输入的用户名是否已经被锁定,如果已锁定则退出程序,否则继续
5)匹配文件中的用户信息
6)如果匹配则打印出欢迎信息
7)如果输入3次密码错误,则锁定该用户名(login/config/name_lock.txt)

3.测试用户

bigberg:123abc
lc:123456
smallberg:111111
root:12345
dinasor:12321


# -*- coding: UTF-8 -*-
#Author:Bigberg
#定义一个循环计数
count = 0
#定义一个字典存储用户名和密码
names={}
#定义一个列表存储用户名
name_exit = []
#输入用户名
username = input("username:")
#判断输入的用户的用户是否在用户名单中
with open("../config/name_login.txt",'r') as f:
 while True:
   line = f.readline().strip()
   if not line:
     break
   else:
     name = line.split(':')[0]
     passwd = line.split(':')[1]
     names[name] = passwd
for key in names:
 name_exit.append(key)
#判断用户名是否正确,不正确则继续输入
while username not in name_exit:
 print("The account is not exit.Check it again.")
 username = input("username:")
else:
 # 读取锁定文件中的内容
 with open("../config/name_lock.txt", "r") as f:
   lock_name = f.read()
 # 判断用户名是否在锁定文件中,如果在就退出程序
 if username == lock_name:
   print("Sorry.Your account has been locked.")
   exit()
 else:
   # 3次输入密码的机会
   while count < 3:
     passwd_input = input("password:")
     # 判断用户名和密码是否有效
     if passwd_input == names[username]:
       print("Welcome!", username)
       break
     else:
       print("Error,please try again.")
     count += 1
     # 如果3次输入密码错误,则将用户名添加到锁定文件
     if count == 3:
       with open("../config/name_lock.txt", "w") as f:
         f.write("%s" % username)
       print("You have tried 3 times,and your account will be locked")

来源:http://www.cnblogs.com/bigberg/p/6419986.html#3625687

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com