这篇文章主要介绍了python如何实现不用装饰器实现登陆器小程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
下面代码演示了不使用装饰器实现用户登陆功能的小程序,在python3.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!")
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。