python list 学习

来源:互联网 发布:大闹天空广翼进阶数据 编辑:程序博客网 时间:2024/06/06 23:22
##################################         模拟购物车            ##################################salare = 0       #余额goods_list = []   #商品列表signal_goods_list = [] #单个商品listgoods_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()
原创粉丝点击