Python 不使用装饰器实现登录功能小程序
本文演示了如何在 Python 3.x 环境下,不使用装饰器实现一个基础的登录验证小程序。通过读取本地文件比对用户名和密码,结合菜单选项控制访问权限,展示了函数调用与状态管理的简单应用,适合初学者参考学习。
Python 登录功能实现概述
本文介绍了一种在 Python 中实现登录验证小程序的方法,该方法不依赖装饰器。文中提供了详细的示例代码,旨在为读者的学习或工作提供有价值的参考。
代码示例与运行环境
以下代码展示了如何在 Python 3.x 环境中运行该示例,实现了无需装饰器的用户登录功能。
核心代码逻辑分析
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Nov 26 15:26:58 2019
@author: root
"""
def menu():
print('choice'.center(50,'-'))
msg = '''
1. home
2. finance
3. book
4. exit
'''
print(msg)
print("".center(50,'-'))
def login(login_flat,choice):
if not login_flat:
while True:
username = str(input("username:"))
password = str(input("password:"))
if choice == '1':
home()
with open('jingdong.txt','r') as f1:
for line in f1:
element = line.split(" ",1)
print(element[0])
print(element[1])
if username.strip() == element[0].strip() and password.strip() == element[1].strip():
print("log in successful!")
return True
print("failed to log in!,try it again!")
elif choice == '2':
finance()
with open('weixin.txt','r') as f2:
for line in f1:
element = line.split(" ",1)
if username.strip() == element[0].strip() and password.strip() == element[1].strip():
print("log in successful!")
return True
print("failed to log in!,try it again!")
elif choice == '3':
book()
with open('jingdong.txt','r') as f3:
for line in f3:
element = line.split(" ",1)
if username.strip() == element[0].strip() and password.strip() == element[1].strip():
print("log in successful!")
return True
print("failed to log in!,try it again!")
else:
print("You have logged in before!")
return True
#@login(login_flat,choice)
def home():
print("home.....")
#@login(login_flat,choice)
def finance():
print("finance.....")
#@login(login_flat,choice)
def book():
print("book.....")
login_flag = False
while True:
menu()
choice = input("your choice:")
if choice == '1':
login_flag = login(login_flag,choice)
elif choice == '2':
login_flag = login(login_flag,choice)
elif choice == '3':
login_flag = login(login_flag,choice)
elif choice == '4':
print('bye-bye')
break
else:
print("wrong input ,try it again!")
总结
希望上述内容能对各位的学习有所帮助,欢迎继续支持本站获取更多技术资源。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













