flag=Falsedeflogin(func):definner(*args,**kwargs):globalflagifflag:func(*args,**kwargs)else:i=1whilei<4:user_name=input('请输入用户名:')password=input('请输入密码')witho...
flag = False
def login(func):
def inner(*args,**kwargs):
global flag
if flag:
func(*args,**kwargs)
else:
i = 1
while i < 4:
user_name = input('请输入用户名:')
password = input('请输入密码')
with open('log',encoding = 'utf-8') as f:
content = eval(f.read())
if content['name'] == user_name and content['password'] == password:
flag = True
func(*args,**kwargs)
else:
print('用户名或密码错误,你还有%s次输入机会'% (3-i))
i += 1
break
else:
print('你已经超出试登次数')
flag = False
return inner
@login
def home():
print('欢迎来到主页')
@login
def article():
print('欢迎来到文章页')
@login
def diary():
print('欢迎来到日记页')
article()
diary()
展开