一、 循环names列表,打印每个元素的索引值和元素,当索引值为偶数时,把对应的元素改成-1。

思路: 可以用enumerate()   # 枚举

names = ['old_driver', 'rain', 'jack', 'shanshan', 'neo', 'black_girl', 1, 2, 3, 4, 2, 5, 6, 2]
for i in enumerate(names):    #enumerate用法print(i)# 输出结果为:
# (0, 'old_driver')
# (1, 'rain')
# (2, 'jack')
# (3, 'shanshan')
# (4, 'neo')
# (5, 'black_girl')
# (6, 1)
# (7, 2)
# (8, 3)
# (9, 4)
# (10, 2)
# (11, 5)
# (12, 6)
# (13, 2)

上面的输出结果含有(), 如果不想带括号,利用下面的方式:

names = ['old_driver', 'rain', 'jack', 'shanshan', 'neo', 'black_girl', 1, 2, 3, 4, 2, 5, 6, 2]for index,i in enumerate(names):   #enumerate的另一种用法print(index,i)if index % 2 ==0:names[index] = -1# 输出结果为:
# 0 old_driver
# 1 rain
# 2 jack
# 3 shanshan
# 4 neo
# 5 black_girl
# 6 1
# 7 2
# 8 3
# 9 4
# 10 2
# 11 5
# 12 6
# 13 2# 并且names也变成了 [-1, 'rain', -1, 'shanshan', -1, 'black_girl', -1, 2, -1, 4, -1, 5, -1, 2]

二、names里面有3个2,返回第二个2的索引值。(不要人肉数,要动态找,提示:找到第一个2的位置,在此基础上再找第二个)。

names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl', 1, 2, 3, 4, 2, 5, 6, 2]new_list = names[ names.index(2)+1:]   #从“第一个2所在的索引值+1”往后截取一个新的列表,注意: 新列表中不能包含第一个2。
index_new_list = new_list.index(2)  # 第二个2在新列表中的索引值
new_index = names.index(2) + index_new_list + 1    # 第二个2在原先names列表中的索引值 等于 第一个2的索引值 + 第二个2在新列表中的索引值 + 1
print(new_index)# 输出结果为  10

三、 现有商品列表如下:

products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]请打印出这样的格式:  -----------商品信息 ------------
0. iphone8 6888
1. MacPro 14800
2. 小米6 2499
3. coffee 31
4. book 80
5. Nike shoes 799

示例代码:

products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]
#第一版:
print('----------商品信息--------')
for i in products:print(i)      # 把products里面的内容依次打印#输出结果:
----------商品信息--------
['iphone8', 6888]
['MacPro', 14800]
['小米6', 2499]
['coffee', 31]
['book', 80]
['Nike shoes', 799]#第二版: 考虑打印出索引值,则应该利用enumerate
products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]
print('----------商品信息--------')
for index,info in enumerate(products):print(index,info)#输出结果:
----------商品信息--------
0 ['iphone8', 6888]
1 ['MacPro', 14800]
2 ['小米6', 2499]
3 ['coffee', 31]
4 ['book', 80]
5 ['Nike shoes', 799]#第三版: 需要把每行的[ ]去掉,考虑到info代表的也是一个列表,可以用列表索引值取值的方法把info 这个小列表中的值拿出来。 (这一步需要注意)
products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]
print('----------商品信息--------')
for index,info in enumerate(products):print(index, info[0], info[1])    #输出结果:
----------商品信息--------
0 iphone8 6888
1 MacPro 14800
2 小米6 2499
3 coffee 31
4 book 80
5 Nike shoes 799#第四版:考虑输出信息的格式化
products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]
print('----------商品信息--------')
for index,info in enumerate(products):print(' %s.  %s  %s' %(index, info[0], info[1]) )     #格式化输出#输出结果:
----------商品信息--------0.  iphone8  68881.  MacPro  148002.  小米6  24993.  coffee  314.  book  805.  Nike shoes  799

四、利用题三中的列表,写一个循环,不断的问用户想买什么,用户选择一个商品标号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表。

该示例用到的知识点:

exit_flag = False     #标识符
a.isdigit()    # 用于判断字符串变量a是不是整数的样子
len(list1)   # 得出列表list1的长度

示例代码:

products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]cart = []    #定义一个购物车cart的空列表
exit_flag = False    #标识符while not exit_flag:#进入之后就打印“商品列表”print('----------商品列表----------')for index,i in enumerate(products):print(' %s. %s  %s' %(index,i[0],i[1]))product_choice = input('请选择商品编号:')''' 根据输入结果是否为数字来进行判断:第一种情况:输入为数字'''if product_choice.isdigit():     #判断p字符串roduct_choice是不是整数的样子product_choice = int(product_choice)   #把字符串product_choice赋值成整数product_choice        if product_choice >= 0 and product_choice < len(products):  # 输入的数字在列表products索引值的范围之内           cart.append(products[product_choice])       #输入的索引值所对应的products元素添加到cart列表中print('商品%s已被添加到购物车'%(products[product_choice][0]))  #格式化输出else:print('商品编号有误')     #输入的数字不在products索引值范围内#输入不为数字:  elif product_choice =='q':if len(cart) >0:   #购物车cart列表不为空print('-------以下为您所选择的商品------')for index,i in enumerate(cart):    #打印购物车列表信息print(' %s. %s %s' %(index,i[0],i[1]))exit_flag = True   #用于结束循环

转载于:https://www.cnblogs.com/neozheng/p/8309479.html

列表用法:格式化商品列表、商品添加到购物车相关推荐

  1. 根据上面的products列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,终用户输入q退出时,打印购买的商品列表。

    一.问题: 现有商品列表如下: 1.products = [["iphone",6888],["MacPro",14800],["小米6", ...

  2. SpringBoot-项目4-购物车(添加入购物车,购物车列表,购物车商品数量加减操作)

    64. 购物车-创建数据表 # 注意:没有添加相应的not null约束 CREATE TABLE t_cart (cid INT AUTO_INCREMENT COMMENT '购物车数据id',u ...

  3. vue 实现商品列表的添加、删除,搜索

    大江东去,浪淘尽,千古风流人物.故垒西边,人道是,三国周郎赤壁.乱石穿空,惊涛拍岸,卷起千堆雪.江山如画,一时多少豪杰.遥想公瑾当年,小乔初嫁了,雄姿英发.羽扇纶巾,谈笑间,樯橹灰飞烟灭.故国神游,多 ...

  4. 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表

    写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商 ...

  5. Vue+Node:商品列表的分页、排序、筛选,添加购物车

    1.分页 商品列表的分页实现是后台根据前端请求的页面大小.页码位置,去数据库中查询指定位置的数据然后返回给前端.比如页面大小为8,要查第3页的数据,则跳过2*8条数据,然后返回接下来的8条数据. 实现 ...

  6. Vue实战之 9.商品管理 -- 商品列表

    1. 商品管理概述 商品管理模块用于维护电商平台的商品信息,包括商品的类型.参数.详情等.通过商品管理模块可以实现商品的添加.修改.展示和删除等功能. 2. 商品列表 实现商品列表布局效果 调用后台接 ...

  7. iOS【 列表底部操作按钮视图的封装】(例子: 门店商品列表底部操作按钮视图: 发布商品、批量下/上架、同步网店、打印价签)

    文章目录 前言 I. 用法 1.1 创建模型和处理点击事件 II.代码 2.1 ERPBottom_operation_view 2.1.1 ERPBottom_operation_view.h 2. ...

  8. 2021 Vue全家桶开发电商管理系统(Element-UI)08 商品列表功能的实现

    商品列表功能的实现 1 自定义格式化时间的全局过滤器 打开main.js,创建过滤器 Vue.filter('dateFormat', function (originVal) {const dt = ...

  9. 数据绑定控件GridView展示商品列表

    数据绑定控件GridView展示商品列表(1) 控件名称:GridView. 说明:通过表格方式实现数据的展示,并集成编辑.分页.排序等功能,比如显示商品列表. 控件名称:DropDownList. ...

最新文章

  1. 开发者如何构建技术影响力
  2. jquery 临时存值
  3. 求数的绝对值一定是正数_人教版七年级数学上册1.2.4绝对值同步练习
  4. 杂谈--从基数评估来看问题1
  5. 供应链金融与区块链技术-可以研读
  6. .net webservice studio调用方法传参_Oracle触发器调用webservice说明
  7. address标签,为网页加入地址信息
  8. 自定义水波纹效果,可设置波纹条数和波纹颜色,使用简单
  9. 7-33 出生年 (15 分)
  10. 2.5、调用后置处理器
  11. 团队作业8----第二次项目冲刺(beta阶段)5.20
  12. visual studio (vs)常用快捷键
  13. Javascript特效:阿鲁的相册
  14. Android入门笔记05
  15. Spring IOC源码笔记(三)
  16. ASP.NET读取Word文档转换为PDF文件的方法
  17. c语言头文件malloc,头文件malloc.h:函数 mallopt()的选项
  18. 20000条笑话保证笑死你
  19. Fully Convolutional Cross-Scale-Flows for Image-based Defect Detection
  20. 合工大路强java第四次作业第5题

热门文章

  1. 我这四个月干了些什么
  2. 高效使用Mac桌面和窗口的技巧方法
  3. 乐鑫esp8266学习rtos3.0笔记:如何在 windows 用 CMake 编译 ESP8266 项目。
  4. 基于python的校园网自动登录脚本!
  5. NOIP2012提高组day1题解
  6. excel_for_hrm:2种通过表格函数计算员工应出勤天数的方法
  7. 2019款的别克君威:90后的青睐,亮点不只是内饰
  8. 什么是镜像?镜像有什么用途?
  9. 实现遍历一个字符串的每一个字母 java(附样例)
  10. php mpdf 设置字体,php 使用mpdf实现指定字段配置字体样式的方法,