【Python学习笔记】基于Python列表(List)的购物模拟

    技术2022-07-11  111

    【Python学习笔记】基于Python列表(List)的购物模拟

    我是为了爬虫技术而开始学习Python的,目前刚刚入门,还没学到自定义函数、异常处理之类的,所以底下的代码有很多重复的地方,也没有对输入非法结果进行的处理。

    这个例子我觉得挺有意思,Python列表的强大我感受到了,Python的简洁我也感受到了,但我总觉得简洁背后会不会有安全隐患?

    个人还是喜欢大括号和分号。

    #用于存放商品的列表 products = [["笔记本电脑",5199],["iPhoneXS",8999],["GTX2080Ti",2999],["普通玻璃咖啡杯",30],["肯德基全家桶",128],["不可描述抽纸",5]] #用于存放购物车商品的列表 shoppingCart = [] #一个计数器,从1开始 countProducts = 1 #用于计算商品总价的变量 countShoppingMoney = 0 #打印商品列表中的所有元素 print("\n-------------商品列表-------------") for product in products: print(countProducts,end='') for elem in product: print('\t\t',end='') print(elem,end='') print('元') countProducts += 1 choose = input("\n请输入你要买的商品序号,结账请输入q:") #一个循环体,知道用户输入‘q’结束 while choose != 'q': #如果用户输入数字,则用append方法附加一个子列表到购物车 shoppingCart.append(products[int(choose)-1]) #同时在商品列表中del删除 del products[int(choose)-1] countProducts = 1 # 打印商品列表中的所有元素 print("\n-------------商品列表-------------") for product in products: print(countProducts, end='') for elem in product: print('\t\t', end='') print(elem, end='') print('元') countProducts += 1 choose = input("\n请输入你要买的商品序号,结账请输入q:") countProducts = 1 #打印购物车列表中的所有元素 print("\n-------------购物车列表-------------") for shopping in shoppingCart: print(countProducts, end='') for elem in shopping: print('\t\t', end='') print(elem, end='') print('元') countProducts += 1 countShoppingMoney += shopping[1] print("\n-------------账单明细--------------") print("您一共要支付:\t\t\t\t%d元"%countShoppingMoney)

    以下是测试结果,蛮有意思的:

    -------------商品列表------------- 1 笔记本电脑 5199元 2 iPhoneXS 8999元 3 GTX2080Ti 2999元 4 普通玻璃咖啡杯 30元 5 肯德基全家桶 128元 6 不可描述抽纸 5元 请输入你要买的商品序号,结账请输入q:6 -------------商品列表------------- 1 笔记本电脑 5199元 2 iPhoneXS 8999元 3 GTX2080Ti 2999元 4 普通玻璃咖啡杯 30元 5 肯德基全家桶 128元 请输入你要买的商品序号,结账请输入q:2 -------------商品列表------------- 1 笔记本电脑 5199元 2 GTX2080Ti 2999元 3 普通玻璃咖啡杯 30元 4 肯德基全家桶 128元 请输入你要买的商品序号,结账请输入q:q -------------购物车列表------------- 1 不可描述抽纸 5元 2 iPhoneXS 8999元 -------------账单明细-------------- 您一共要支付: 9004元

    20200701

    Processed: 0.010, SQL: 9