python list 学习

#################################
#         模拟购物车            #
#################################

salare = 0       #余额
goods_list = []   #商品列表
signal_goods_list = [] #单个商品list
goods_cart = [] #购物车列表

username = "admin"
password = "admin"



while True:
    _username = input("用户名:")
    _password = input("密 码:")
    if username != _username or password != _password:
        print("\033[31m 用户名或密码错误,请重新输入!!!\033[0m")
        continue
    elif username == _username and password == _password:
        while True:
            print("操作说明:\n"
                  "a 查看商品列表\n"
                  "b 查看已购商品\n"
                  "c 进行充值\n"
                  "d 结束购物\n")
            operator_type = input("\033[31m 请选择操作类型:\033[0m")
            if operator_type == 'a':
                while True:
                    with open("goods_list.txt", "r") as f:  # 获取商品列表
                        signal_goods = f.readline().strip()  # 读取字符串去掉空格
                        print("商品列表".center(50, '*'))
                        index = 0
                        goods_list = []
                        while signal_goods:
                            index += 1
                            nPos = signal_goods.index(':')  # 获取标识位
                            signal_goods_list.append(signal_goods[:nPos])
                            signal_goods_list.append(signal_goods[nPos + 1:])
                            print(index, signal_goods[:nPos], signal_goods[nPos + 1:])
                            goods_list.append(signal_goods_list)
                            signal_goods = f.readline().strip()
                            signal_goods_list = []  # 清空列表

                    with open("balance.txt", "r") as f:
                        salare = f.readline()
                        if salare == '' or salare == '0':
                            print("\033[31m 您当前余额为0 如需购物,请到充值中心进行充值!!!\033[0m")
                            break
                        else:
                            print("您当前余额为 \033[31m %s \033[0m,请开始购物!!!" %salare)
                    shopindex = input("请输入所购商品编号(返回上级菜单请输入‘b’):")
                    if shopindex.isdigit():
                        shopindex = int(shopindex)
                        print(shopindex)
                        print(len(goods_list))
                        if shopindex > len(goods_list):
                            print("\033[31m 您选购的商品不存在,请重新选择!!!\033[0m")
                            continue
                        if int(salare) < int(goods_list[shopindex-1][1]):
                            print("\033[31m 您当前余额为不足,请到充值中心进行充值!!!\033[0m")
                            break;
                        else:
                            salare = int(salare) - int(goods_list[shopindex-1][1])
                            print("当前余额为:\033[31m %s \033[0m" %salare)
                            with open("balance.txt","w") as f:
                                f.write(str(salare))
                            #goods_cart.append(goods_list[shopindex-1][0])
                            with open("goods_cart.txt", "a") as f:
                                f.write(goods_list[shopindex-1][0])
                                f.write("\n")
                    else:
                        break;

            elif operator_type == 'b':
                while True:
                    with open("goods_cart.txt","r") as f:  #先读取看看购物车有没有数据
                        signal_goods = []
                        signal_goods = f.readline().strip()
                        if signal_goods == '':
                            print("\033[31m 购物车中还没有商品!!!\033[0m")
                            shopindex = input("\033[31m返回上级菜单请输入‘b’: \033[0m")
                            if shopindex == 'b':
                                break;
                        else:
                            print("已购商品列表".center(50, '*'))
                            while signal_goods:
                                print(signal_goods)
                                signal_goods = f.readline().strip()
                            shopindex = input("返回上级菜单请输入‘b’:")
                            if shopindex == 'b':
                                break;
            elif operator_type == 'c':
                print("欢迎来到充值中心".center(50,'*'))
                salare = input("请输入充值金额:")
                print("您已经充值成功,请继续购物!!!")
                f = open("balance.txt", "r")
                balance = f.readline().strip()
                if balance == '' or f.readline() == '0':
                    f.close()
                    f = open("balance.txt", "w")
                    f.write(salare)
                    f.close()
                else:
                    balance = int(balance) + int(salare)
                    with open("balance.txt", "w") as f:
                        f.write(str(balance))

            elif operator_type == 'd':
               with open("goods_cart.txt","r") as f:
                   print("已购商品列表".center(50, '*'))
                   shopped = f.readline().strip()
                   while shopped:
                        print(shopped)
                        shopped = f.readline().strip()
               with open("balance.txt", "r") as f:
                    print("当前余额 \033[31m %s \033[0m" %f.readline())
               exit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值