Python-基础实现购物车程序

#定义商品列表
goods = [
    [0,{"苹果6s":3500}],
    [1,{"苹果电脑":10000}],
    [2,{"苹果无线鼠标":200}],
    [3,{"Airpods":1000,}],
    [4,{"apple watch":500}]
]

#定义空列表
shopping_list = []
user_info = {}

#定义选项函数
def option():
    print('''
    1.登录
    2.注册
    3.购物
    4.退出
    ''')

#定义密码确认函数
def pass_check():
    exit_tag = True
    while exit_tag:
        paswd = input("请输入你的第一次密码:")
        re_passwd = input("请再次输入你的第二次密码:")
        if re_passwd != paswd:
            print("两次输入的密码不一致,请重新输入:")
        else:
            exit_tag = False
            return paswd

#注册函数
def regsiter():
    print("注册---------------------------------------")
    uname = input("请输入你的用户名:")
    paswd = pass_check()
    wages = input("请输入你的工资:")

    with open("db.txt","a",encoding="utf8")as f:
        f.write(f"{uname}:{paswd}:{wages}\n")
        f.flush()
        print(f"{uname}注册成功,请登录...")

#登录函数
def login():
    # user_info = []
    print("请登录---------------------------------------")
    count = 0
    while count < 3:
        uname = input("请输入你的用户名:")
        paswd = pass_check()
        # user_info = []
        with open("db.txt","r",encoding="utf8") as f:
            # for i in user_data.strip("\n").split(":"):
            user_list_data = f.readlines()
            print(user_list_data)
            for i in user_list_data:
                user_data = i.split(":")
                print(user_data)
                if uname not in str(user_list_data):
                    print("用户名不存在,请先注册。。")
                    break
                elif uname == user_data[0] and paswd == user_data[1]:
                    user_info.clear()
                    user_info["uname"] = uname.strip("\n")
                    user_info["wages"] = user_data[2].strip("\n")           #同步余额信息
                    print(f'''登录成功!欢迎{uname}!用户信息:{user_info}!请shopping''')
                    shopping()
                    break
                else:
                    print("登录失败..密码错误,请重试")
                    count += 1
            else:
                continue
            break

#定义购物程序函数
def shopping():
    while True:
    #打印商品列表
        print("商品信息如下:")
        for i in goods:
            print(str(i).strip("[]"))
        #选择商品编号添加到购物车中。
        try:
            serial_number = int(input('''请输入想要购买的商品编号:(输入q或其他退出购买,查看购物车)'''))
            shopping_list.append(goods[serial_number][1])
            print(f"已将编号为{serial_number}的商品加入到购物车中...")
        except Exception as f:
            print("-"*20 + "购物车详情" + "-"*20)
            print(f"全部商品 {len(shopping_list)}件")
            price = 0
            for j in shopping_list:
                print(j)
                j_price = int(list(j.values())[0])
                price += j_price

            if price != 0:
                Chooes = input(f"总价为{price},是否想要购买,请输入yes/no:").strip()
                # print(Chooes)
                if Chooes == "yes":
                    if int(user_info["wages"]) < price:
                        # print(int(user_info["wages"]))
                        print("你的钱包不够,还是挣点钱再来吧~")
                        break
                    print("hello")
                    surplus = int(user_info["wages"]) - price
                    print(surplus)
                    print(f"购买成功,请等待发货...您的余额为{surplus}")
                    break
                elif Chooes == "no":
                    print("您取消购买了")
                    shopping_list.clear()
            else:
                print("您未购买任何东西...")


if __name__=="__main__":
    while True:
        option()
        try:
            x = int(input("请输入您的选项:"))
            if x == 1:
                login()
                break
            elif x == 2:
                regsiter()
                break
            elif x == 3:
                print("请先登录...")
                login()
                shopping()
                break
            elif x == 4:
                print("退出程序")
                break
        except Exception as f:
            print("无效字符,请重输入")

猜你喜欢

转载自www.cnblogs.com/qinyujie/p/11454835.html