decorator rewrite the login procedure

# _ * _ Coding: UTF-8 _ * _ 
# Author: Wang Dian-yuan
# Date: 2019/12/26
Import Time
Pages and the = [ 'Home Page', 'Finance Page', 'Book Page']
is_login = False


DEF Decorator (jingdong_pay) :
DEF warpper (* args, ** kwargs):
Global is_login
IF is_login:
jingdong_pay (* args, ** kwargs)
the else:
is_login = Login ()
return warpper


DEF Login ():
USER_INFO, user_num = get_user_info ()
username = INPUT ( "Please enter your name: ')
password = iNPUT (' enter password: ')
IF username and password in USER_INFO == USER_INFO [username]:
Print (' {} Welcome! '.format(pages[user_num]))
return True
the else:
return False


DEF get_user_info ():
for Pages Page in:
Print ( "% D: '% (pages.index (Page) +. 1), Page)
user_num = int (INPUT (' enter the login page number: ') )
IF == user_num. 1:
with Open ( 'Jingdong', 'R & lt', encoding = 'UTF-. 8') AS Jingdong:
USER_INFO = the eval (jingdong.read () Strip ()).
IF user_num == 2:
with Open ( 'Weixin', 'R & lt', encoding = 'UTF-. 8') AS Weixin:
USER_INFO = the eval (weixin.read () Strip ().)
return USER_INFO, user_num


@decorator
DEF jingdong_pay (Money):
Print ( ' payment in ...... ')
the time.sleep (2)
Print (' successful payment, you pay dollars {} '.format (Money))


jingdong_pay (1800)
jingdong_pay (2000)

Guess you like

Origin www.cnblogs.com/python-beginner/p/12142793.html