2022.04.03-python学习之list及使用list演练购物车
list列表
1 # 列表List 2 # 1.列表的创建和删除 3 emptylis = [] # 创建空列表 4 lis = ['Python', 'C', 'C++', 'C#', 'Java', 'PHP', 'Go'] 5 numlis = list(range(0, 10)) # 创建数值列表 6 numlis2 = list(range(0, 20, 2)) # 创建一个0-20之间偶数的列表 7 print(numlis) 8 print(numlis2) 9 del numlis # 删除列表 10 11 # 2.访问元素列表 12 print(numlis2) 13 print(numlis2[2]) # 根据索引访问列表元素 14 15 # 3.遍历列表 16 for item in lis: 17 print(item) 18 19 for index, item in enumerate(lis): 20 print('lis列表元素{0}的索引是{1}'.format(item, index)) 21 22 # 4.添加、修改和删除列表元素 23 # 添加元素 24 lis.append("MySql") 25 print(lis) 26 lis.insert(0, 'SQL') # 根据索引位置插入指定元素内容,执行效率比append方法低,不常用, 27 print(lis) 28 lis.extend(varse2) # 将varse2列表中的全部元素添加到lis列表中 29 print(lis) 30 31 # 修改元素 32 lis[0] = 'SQL Server' 33 print(lis) 34 35 # 删除元素 36 del lis[0] # 根据索引删除 37 print('默认移除最后一个元素为:', lis.pop()) # 移除元组,默认移除最后一个元素,并返回该元素的值 38 print(lis) 39 if lis.count('MySql') > 0: # 判断元素是否在列表中,否则删除无效元素程序会报错 40 lis.remove('MySql') # 根据元素内容删除 41 print(lis) 42 43 # 5.对列表进行统计计算 44 # 获取指定元素出现的次数 45 print('lis列表中元素\'Python\'出现的次数为{0}次'.format(lis.count('Python'))) 46 47 # 获取指定元素首次出现的索引 48 print('lis列表中首次出现元素\'Python\'的位置为{0}'.format(lis.index('Python'))) 49 50 # 统计数值列表的元素和 51 numlis = list(range(0, 10)) 52 print(numlis) 53 print('列表numlis内所有元素之和为{0}'.format(sum(numlis))) 54 print('列表numlis内所有元素之和加上1000之和为{0}'.format(sum(numlis, 1000))) 55 56 # 6.列表排序 57 # 列表对象sort()方法 58 print('原列表为{0}'.format(lis)) 59 lis.sort() # 区分大小写 60 print('列表lis区分大小写升序排序为{0}'.format(lis)) 61 lis.sort(key=str.lower) # 不区分大小写 62 print('列表lis不区分大小写升序排序为{0}'.format(lis)) 63 lis.sort(key=str.lower, reverse=True) # reverse默认值为False 为升序排序 64 print('列表lis不区分大小写降序排序为{0}'.format(lis)) 65 66 # Python内置函数sorted()方法 67 print(sorted(varse)) 68 print(sorted(varse, reverse=True)) # sorted函数 reverse为可选参数,默认值为False,升序排序 69 70 ''' 71 list对象方法sort()和Python内置方法sorted()方法的区别 72 sort()是在原表上直接进行排序,会改变原列表排序 73 sorted()会建立一个原表的副本,该副本为排序后的列表 74 '''
购物车演练
1 # python列表之购物车演练 2 # 定义一个商品列表 3 goods_list = [['Computer', 5000], ["Monitor", 1500], 4 ["Mouse", 100], ["Keyboard", 300], 5 ["Voice_box", 200], ["Microphone", 200], 6 ["IPhone", 9000], ["IPad", 5000]] 7 # 定义一个空购物车列表 8 shopping_car = [] 9 # 定义一个循环标识 10 flag = True 11 while flag: 12 # 遍历打印商品列表 13 print("=============商品列表=============") 14 for goods_number, goods_info in enumerate(goods_list, 1): 15 print("商品编号%d. %s : %0.2f元" % (goods_number, goods_info[0], goods_info[1])) 16 17 # 引导输入选择 18 choice_good = input("请输入商品编号添加商品到购物车\n输入q退出购物车!\n输入s查询购物车!\n") 19 # 判断输入商品编号是否合法并且商品编号存在 20 if choice_good.isdigit(): 21 choice_good = int(choice_good) 22 # 商品存在 23 if choice_good <= len(goods_list): 24 shopping_car.append(goods_list[choice_good - 1]) 25 print("添加商品 %s 成功!,购物车商品总数%d" % (goods_list[choice_good - 1][0], len(shopping_car))) 26 print("=" * 30) 27 else: 28 print("商品不存在") 29 # 输入q 退出购物车 变更flag 退出循环 30 elif choice_good == "q": 31 flag = False 32 print("已退出购物车!") 33 # 输入s查询购物车信息 34 elif choice_good == "s": 35 # 判断购物车是否有添加商品 36 if len(shopping_car) == 0: 37 print("购物车还没有添加商品!") 38 print("\n") 39 else: 40 print("亲,您总共添加了 %d 个商品\n商品列表如下:" % len(shopping_car)) 41 for i in shopping_car: 42 print("商品名:%s 价格:%0.2f" % (i[0], i[1])) 43 print("=" * 30) 44 else: 45 print("非法输入,请重新输入")