一 购物车作业

函数一完成3次登录功能
实现新用户注册功能
购物功能
将购物功能拆分多个函数

items_information = [
                {'name': '苹果', 'price': 10},
                {'name': '香蕉', 'price': 5},
                {'name': '西瓜', 'price': 30}
                     ]
shopping_car = {}
user_wallent = {'ddr': 100, 'ddr2': 200}
user_dic = {'ddr': '123', 'ddr2': '1234'}
global username

def register_func():
    # global username
    while 1:
        username = input("请输入你注册的用户名:")
        if username in user_dic.keys():
            print("您输入的用户名已注册,请重新输入")
        else:
            passwd = input("请输入你注册的密码:")
            user_dic.setdefault(username, passwd)
            user_wallent.setdefault(username, 0)
            print("恭喜您,注册成功")
            msg = """----------------info of %s----------------
            用户名:%s
            密  码:%s""" % (username, username, passwd)
            print(msg)
            print("您的钱包还未充值默认金额为0,要充值吗,Yes or No")
            answer = input("")
            if answer == 'Yes':
                paycheck()
            return

def paycheck():
    check_info_dic = {}
    # global username
    while 1:
        username = input("核对用户名:")
        if username in user_dic.keys():
            print("您的账户余额为%s" %user_wallent[username])
            lastmoney = int(user_wallent[username])
            flag1 = True
            while flag1:
                check_info_passwd = input("核对密码:")
                if  check_info_passwd == str(user_dic[username]):
                    flag1 = False
                    flag2 = True
                    while flag2:
                        money = input("请输入您的充值金额:")
                        if money.isdigit():
                            # flag1 = False
                            user_wallent[username] = lastmoney + int(money)
                            print()
                            print("充值成功,您的充值金额为%d,余额为%d" % (int(money), user_wallent[username]))
                            print("用户%s欢迎光临鲜丰水果店" % username)
                            meniu(username)
                            return 1
                        else:
                            print("您输入的金额有误,请重新输入")
                else:
                    print("您输入密码有误,请重新输入")
        else:
            print("您输入用户名有误,请重新输入")

def is_login():
    # global username
    i = 3
    flag = True
    while flag:
        username = input("请输入你的用户名:")
        if username in user_dic.keys():
            while i > 0:
                i -= 1
                password = input("请输入你的密码:")
                if password == str(user_dic[username]):
                    print("您的账户余额为%s" % user_wallent[username])
                    print("用户%s欢迎光临鲜丰水果店" % username)
                    meniu(username)
                    return 1
                else:
                    print("您输入的密码有误,请重新输入,您还有次%d机会" % i)
                    if i == 0:
                        print("您登录次数用完")
                        return 0
        else:
            print("您还不是本店会员,如需够买本店商品请先注册:")
            register_func()
            return 1


def meniu(a):
    while 1:
        for i, k in enumerate(items_information):
            print("序号{}, 商品{},价格{}".format(i, k['name'], k['price']))
        choose = input("请输入商品序号:")
        if choose.isdigit() and int(choose) < len(items_information):
            num = input("请输入购买该商品数量:")
            if num.isdigit():
                if int(user_wallent[a]) >= int(num) * items_information[int(choose)]['price']:
                    user_wallent[a] = int(user_wallent[a]) - int(num) * items_information[int(choose)]['price']
                    if items_information[int(choose)]['name'] in shopping_car:
                        shopping_car[items_information[int(choose)]['name']] = shopping_car[items_information[int(choose)]['name']] + int(num)
                    else:
                        shopping_car[items_information[int(choose)]['name']] = int(num)
                        print("已将商品{}放入您的购物车,所剩余额为{}".format(shopping_car, user_wallent[a]))
                else:
                    print("你的付款金额不足,请充值")
                    paycheck()
                    break
        else:
            print("您输入序号不再商品范围内")

#购物车程序开始
is_login()

 

posted on 2019-03-07 20:19  星也  阅读(31)  评论(0)    收藏  举报