'''
在购物商场的基础上,利用装饰器添加登录验证功能
该程序只有在登录状态下才可以看到平台商品以及选择商品
逻辑上和现实不一致,单纯的为了练习装饰器,锻炼逻辑思维
'''



1 '''装饰器函数'''
2 user_name='123'
3 user_pwd=123
4 flag=None#登录状态
5 def user_regiest(func):
6 def inner(*args,**kwargs):
7 if not flag:
8 logger()
9 func(*args,**kwargs)
10 else:
11 func(*args,**kwargs)
12 return inner
13 '''京东购物程序'''
14 def logger():#登录接口
15 user_input_name = input('请输入用户名>>>').strip()
16 user_input_pwd = input('请输入密码>>>').strip()
17 if user_input_pwd.isdigit():
18 user_input_pwd = int(user_input_pwd)
19 if user_input_name == user_name and user_input_pwd == user_pwd:
20 global flag
21 flag=True
22 else:
23 print('密码或用户名错误')
24 logger()
25 else:
26 print('密码或用户名错误,请重新输入>>>')
27 logger()
28 @user_regiest
29 def user_show_shop():#展示平台商品
30 print('欢迎来到京东购物商场'.center(50, '*'))
31 print('''
32 1:apple---100
33 2:iphone--10
34 3:huawei p30--20000
35 ''')
36 @user_regiest
37 def choose_shop():#选择需要购买的商品
38 user_choose=input('请选择商品序号>>>').strip()
39 if user_choose.isdigit():
40 user_choose=int(user_choose)
41 print('成功加入购物车')
42 '''在购物商场的基础上,利用装饰器添加登录验证功能
43 该程序只有在登录状态下才可以看到平台商品以及选择商品
44 逻辑上和现实不一致,单纯的为了练习装饰器,锻炼逻辑思维'''
45 user_show_shop()
46 choose_shop()