この記事の例では、参考のためにユーザーログインシステムのPython実装コードを共有します
注:
1. プログラムを実行するにはpython3を使用します。ログインまたはプログラムの終了を求めるプロンプトに従って 1 または 2 を入力します。
2. ユーザー名を入力した後、ユーザー名がロックされている場合、またはユーザー名が無効な場合は、入力が正しいことを確認してください。
3. ユーザー名を正しく入力したら、パスワードを入力します。ユーザー名が正しく、パスワードが連続して 3 回間違って入力された場合、ユーザーはロックアウトされ、システムへのログインが禁止されます
#!/usr/local/env python #coding:utf-8 #Auto:Panwenbin #function: lock_file=open('file_lock.txt','r+') user_pass=open('username_file.txt','r+') count=0
cmd=input(''' 1:登录系统 2:退出系统 请输入您的操作:''') if cmd.isdigit() and int(cmd)==2: exit() elif cmd.isdigit() and int(cmd)==1: while count <3:#只要重试不超过3次就不断循环 username=input('请输入您的用户名:') for i in lock_file.readlines(): #判断用户名是否在锁文件中 i=i.split() if username in i[0]: print('对不起 %s 已锁定'%username) exit()
match = False for j in user_pass.readlines(): user,password = j.strip('\n').split() #去掉每行多余的\n并把这一行按空格分成两列,分别赋值为user,passwd两个变量 if username == user: #判断输入的用户是否存在 passwd=input ('请输入密码:') if password == passwd: print ('用户名和密码正确') match = True break elif password != passwd:#在用户名正确的前提下,判断输入的密码是否正确 for i in range(2): passwd=input ('密码错误,请重新输入密码:') if password == passwd: print ('用户名和密码正确') match = True break
if username != user :#判断用户不存在 print('您输入用户名不存,程序已退出') exit() elif match == False :#如果match还为False,代表上面的循环中跟本就没有match上用户名和密码 print('密码和用户名不匹配,尝试超过三次,用户被锁定') lock_file.write('%s \n'%username) lock_file.close() user_pass.close() exit() elif match==True: print('登录成功') break else: print('无效选项,程序已退出')
この記事の内容は以上です。皆さんが Python プログラミングを学ぶのに役立つことを願っています。
Python ユーザー ログイン システムに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。