学习python过程中的简单记录
代码目的:对于用户付款进行限制,如果没有登录就无法付款。
import time
# 用户登录状态
islogin = False
# 用户数据库
database = [{'username': 'q123456', 'password': '123456'}, {'username': 'q1234567', 'password': '1234567'}]
# 定义登录函数
def login():
# 核对用户是否在数据库中,在的话就改变key为1
key = 0
username1 = input('请输入账号:')
password1 = input('请输入密码:')
# 遍历用户数据库
for i in database:
database_username, database_password = i['username'], i['password']
if username1 == database_username and password1 == database_password:
key = 1
break
# 判断用户是否在数据库,在就返回结果
if key == 1:
print('登录成功')
return True
else:
print('密码错误,请重新登录')
return False
# 定义装饰器用于验证登录
def login_required(func):
def wrapper(*args, **kwargs):
global islogin
print('----------付款-----------')
if islogin:
func(*args, **kwargs)
else:
print('用户未登录,请登录')
# 跳转登录页面
islogin = login()
print('登录结果是:', islogin)
return wrapper
@login_required
def pay(money):
print('----付款中-----')
time.sleep(2)
print('-----付款金额{}------'.format(money))
print('------付款完成-------')
pay(10)
pay(20)