Login interface
Assignment 1: Write login interface
1. Enter username and password
2. Display the welcome message after successful authentication
3. Lock after three incorrect entries
Ideas :
## (1) The user enters the user name;
(2) Go to the lock file to verify whether the user name is locked;
(3) Go to the current user to verify whether the user exists;
(4) The user enters the password and is locked after three incorrect entries
(5) After locking, delete the user name from the current file and add it to the locked file.
Pay attention to file reading, modification, and writing operations. These operations must be completed with the help of lists, otherwise it will cause some unnecessary errors. Finally, define a function to complete Just call these functions when using these operations.
When operating list files, you must pay attention to the processing of line breaks and how to add elements. These methods are best to use lists and dictionaries to read and write files, so as to keep the format neat. .
The code is as follows:
import os,sys,getpass,collections retry_limit = 3 #密码错误三次被锁定 retry_count = 0 #起始次数是0次 def locked_user(users,filename): #用于存放锁定用户的文件,当用户锁定的时候,要从原文件删除,添加到新的文件中 with open(filename,"w+") as locked_f:for key,value in users.items(): line = [] line.append(key) line.append(value) file_line = " ".join(line) + "\n"locked_f.write(file_line) active = Trueif __name__ == "__main__":while True: username = input("请输入用户名(输入quit退出):") with open("account_lock.txt","r") as f: user_lists = f.readlines()for user_list in user_lists:if user_list.strip() == username: print("您好,你的用户已经被锁定,请联系管理员!")continue #如果用户锁定,结束当前循环,执行下一次用户输入else: passif username == "quit": sys.exit(0) with open("account.txt") as active_f: users_dict = collections.OrderedDict()for line in active_f: user,pwd = line.strip().split() users_dict[user] = pwdif username in users_dict.keys():while retry_count < retry_limit: passwd = getpass.getpass("请输入你的密码:") # 隐藏式输入密码 # 判断用户是否在用户列表中if users_dict[username] == passwd: print("欢迎回来,认证成功!")breakelse:if retry_count != 2: #提示用户注意,还有几次机会将被锁定 print("您输入的密码不对,您还有%d次机会,否则系统将被锁定!" % (2 - retry_count)) retry_count += 1else: print("您输入的次数过多,%s已被锁定,请联系管理员" %username) #用户锁定之后,要把锁定的用户从当前文件删除,移到锁定文件中 users_dict.pop(username) locked_user(users_dict,"account.txt") with open("account_lock.txt","a+") as a_f: a_f.write(username + "\n")else: print("对不起,您输入的用户不存在,请重新输入!!!")
The above code is implemented The function of the login interface, but there are some small flaws, that is, the writing of the locked file is not very good, and there will be two blank lines. This method can only write and read the previous file and put it in a list. , then add the locked user to this list, read the file again, and the code will be corrected below.
with open(filename,) key,value line = file_line = .join(line) + active = __name__ == retry_limit = retry_count = username = input( with open(,) user_lists = user_list user_list.strip() == print( username == sys.exit( with open() users_dict = line user,pwd = users_dict[user] = username retry_count < passwd = input( users_dict[username] == print( retry_count != print( % ( - retry_count += print( % locked_user(users_dict, with open(,) user_lines = user_messages = user_line with open(,) user_message user_message = user_message + print() 运行如下: 请输入用户名(输入quit退出):zeng 请输入你的密码:222 您输入的密码不对,您还有2次机会,否则系统将被锁定! 请输入你的密码:222 您输入的密码不对,您还有1次机会,否则系统将被锁定! 请输入你的密码:222 您输入的次数过多,zeng已被锁定,请联系管理员 ['chang', 'geng', 'xue', 'zeng'] 请输入用户名(输入quit退出):zhu 请输入你的密码:333 您输入的密码不对,您还有2次机会,否则系统将被锁定! 请输入你的密码:333 您输入的密码不对,您还有1次机会,否则系统将被锁定! 请输入你的密码:333 您输入的次数过多,zhu已被锁定,请联系管理员 ['chang', 'geng', 'xue', 'zeng', 'zhu'] 请输入用户名(输入quit退出):quit
In the code, we go through a step of conversion when writing the file, as shown in the following figure:
The above is the process of file conversion. This method is a commonly used form of file processing, but please note that when using "w" to read files, special attention must be paid to it. This method will destroy the original file content and must Use it with caution, don't accidentally damage the company's file library, and your boss will pass you.
The above is the detailed content of Login interface. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











With the rapid development of social media, Xiaohongshu has become a popular platform for many young people to share their lives and explore new products. During use, sometimes users may encounter difficulties logging into previous accounts. This article will discuss in detail how to solve the problem of logging into the old account on Xiaohongshu, and how to deal with the possibility of losing the original account after changing the binding. 1. How to log in to Xiaohongshu’s previous account? 1. Retrieve password and log in. If you do not log in to Xiaohongshu for a long time, your account may be recycled by the system. In order to restore access rights, you can try to log in to your account again by retrieving your password. The operation steps are as follows: (1) Open the Xiaohongshu App or official website and click the "Login" button. (2) Select "Retrieve Password". (3) Enter the mobile phone number you used when registering your account

When you log in to someone else's steam account on your computer, and that other person's account happens to have wallpaper software, steam will automatically download the wallpapers subscribed to the other person's account after switching back to your own account. Users can solve this problem by turning off steam cloud synchronization. What to do if wallpaperengine downloads other people's wallpapers after logging into another account 1. Log in to your own steam account, find cloud synchronization in settings, and turn off steam cloud synchronization. 2. Log in to someone else's Steam account you logged in before, open the Wallpaper Creative Workshop, find the subscription content, and then cancel all subscriptions. (In case you cannot find the wallpaper in the future, you can collect it first and then cancel the subscription) 3. Switch back to your own steam

When we assemble the computer, although the installation process is simple, we often encounter problems in the wiring. Often, users mistakenly plug the power supply line of the CPU radiator into the SYS_FAN. Although the fan can rotate, it may not work when the computer is turned on. There will be an F1 error "CPUFanError", which also causes the CPU cooler to be unable to adjust the speed intelligently. Let's share the common knowledge about the CPU_FAN, SYS_FAN, CHA_FAN, and CPU_OPT interfaces on the computer motherboard. Popular science on the CPU_FAN, SYS_FAN, CHA_FAN, and CPU_OPT interfaces on the computer motherboard 1. CPU_FANCPU_FAN is a dedicated interface for the CPU radiator and works at 12V

Baidu Netdisk can not only store various software resources, but also share them with others. It supports multi-terminal synchronization. If your computer does not have a client downloaded, you can choose to enter the web version. So how to log in to Baidu Netdisk web version? Let’s take a look at the detailed introduction. Baidu Netdisk web version login entrance: https://pan.baidu.com (copy the link to open in the browser) Software introduction 1. Sharing Provides file sharing function, users can organize files and share them with friends in need. 2. Cloud: It does not take up too much memory. Most files are saved in the cloud, effectively saving computer space. 3. Photo album: Supports the cloud photo album function, import photos to the cloud disk, and then organize them for everyone to view.

Xiaohongshu has now been integrated into the daily lives of many people, and its rich content and convenient operation methods make users enjoy it. Sometimes, we may forget the account password. It is really annoying to only remember the account but not be able to log in. 1. How to log in if Xiaohongshu only remembers the account? When we forget our password, we can log in to Xiaohongshu through the verification code on our mobile phone. The specific operations are as follows: 1. Open the Xiaohongshu App or the web version of Xiaohongshu; 2. Click the "Login" button and select "Account and Password Login"; 3. Click the "Forgot your password?" button; 4. Enter your account number. Click "Next"; 5. The system will send a verification code to your mobile phone, enter the verification code and click "OK"; 6. Set a new password and confirm. You can also use a third-party account (such as

How to solve the common problem of Laravel login time expiration When using Laravel to develop web applications, login authentication is a very important function. However, sometimes if a user does not operate for a long time after logging in, the page may automatically log out or the authentication may fail. This problem is relatively common. The following will introduce how to solve this problem by setting the session time and provide specific code examples. 1. Set the session expiration time in Laravel, by default sessi

What should I do if I can’t log in to my account on Google Chrome? When many users use this software, certain functions require users to log in to their Google account before they can use it. However, they have tried many times but failed to log in successfully. Faced with this problem, many users do not know how to solve it, so In this issue, the editor is here to share the solution with you. I hope that the content of today’s software tutorial can be helpful to everyone. The solution is as follows: 1. Click on a browser on the desktop, and after opening it, you will see something like this. 2. If a login pops up at this time, click it. If you can't see it, click the upper right corner. 3. Click Login, then enter your account number. You do not need to enter the account after @, and click Next. 4. Enter the password. When you see this prompt, click Enable

There are quite a lot of resources prepared for everyone on the iQiyi app. There are all kinds of videos, and everyone can choose freely. However, there are also some videos here that require your membership. It allows everyone to better watch these videos, and if everyone doesn’t want to waste money by replenishing their membership, they will want to find membership accounts for some of their friends and log in to watch. So what should be done here specifically? If you are a logged-in member, follow the editor to take a look. Tips for logging in with someone else's iQiyi membership: Method 1: Account login After we open the client, there is an icon with the word "My" in the lower right corner. We click on it to enter the personal interface. Frame this place in red
