装饰器的运用,编写一个简单的仿京东登录软件模拟支持微信和京东帐号登录...

#__author__:"Jay guo"
#__date__:2016/9/8
login_flag = False
def login(flag):
    def func(f):
        def inner():
            global login_flag
            if login_flag == False:
                nameuser = input("input your name:> ")
                print (nameuser)
                passwd = input ("input your password: > ")
                print (passwd)
                if flag == "jingdong":
                    # 打开文件
                   with open("jingdong","r") as file:
                       for i in file:
                           i = eval(i)
                           if nameuser ==list(i.keys())[0] and passwd == i[list(i.keys())[0]]:
                                print ("welcome jingdong")
                                login_flag = True
                elif flag == "weixin":
                    with open("weixin", "r") as file:
                        for i in file:
                            i = eval(i)
                            if nameuser == list(i.keys())[0] and passwd == i[list(i.keys())[0]]:
                                print("welcome weixin")
                                login_flag = True
            f()
        return inner
    return func

@login("jingdong")
def home():
    print ("input home")

@login("weixin")
def finance():
    print ("input finance")
@login("jingdong")
def book():
    print ("input book")
def home_goods(flag):#商品
    goods_list= []
    shop_list = ("car", "competer", "water")
    finance_list = ("stock","loan","buy")
    book_list = ("十万个为什么","西游记","三国演义")
    list1 = [shop_list,finance_list,book_list]
    while True:
        for i,j in enumerate(list1[flag-1],1):
            print(i,":",j)
        choice = input("input goods number(q : quit) :> ")
        if choice == "q":
            break
        print (list1[flag-1][int(choice)-1])
        goods_list.append(list1[flag-1][int(choice)-1])
    return goods_list

list_paper = ("home","finance","book")
home_shop = []
finance_shop = []
book_shop = []
while True:
  for i,j in enumerate(list_paper,1):
      print (i,":",j)
  shop = input("choice paper:>")
  if shop == "q":
      for i in home_shop:
          print(i)
      for i in finance_shop:
          print(i)
      for i in book_shop:
          print(i)
      break
  elif int(shop) == 1:
     home()
     home_shop = home_goods(1)
  elif int(shop) == 2:
     finance()
     finance_shop = home_goods(2)
  elif int(shop) == 3:
     book()
     book_shop =home_goods(3)

 

转载于:https://www.cnblogs.com/276381225q/p/5852833.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值