1.创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl 元素
2.往names列表里black_girl前面插入一个alex
3.把shanshan的名字改成中文,姗姗
4.往names列表里rain的后面插入一个子列表,[oldboy, oldgirl]
5.返回peiqi的索引值
6.创建新列表[1,2,3,4,2,5,6,2],合并入names列表
7.取出names列表中索引4-7的元素
8.取出names列表中索引2-10的元素,步长为2
9.取出names列表中最后3个元素
10.循环names列表,打印每个元素的索引值,和元素
11.循环names列表,打印每个元素的索引值,和元素,当索引值 为偶数时,把对应的元素改成-1
12.names里有3个2,请返回第2个2的索引值。不要人肉数,要动态找(提示,找到第一个2的位置,在此基础上再找第2个)

13.现有商品列表如下:
    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
14. 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里, 最终用户输入q退出时,打印购物车里的商品列表

#1 创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl 元素
names = []
names.append('old_driver')
names.append('rain')
names.append('jack')
names.append('shanshan')
names.append('peiqi')
names.append('black_girl')
print(names)
# 结果:['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']

#2 往names列表里black_girl前面插入一个alex
names.insert(5,'alex')
print(names)
# 结果: ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'alex', 'black_girl']

#3 把shanshan的名字改成中文,姗姗
names[3] = '姗姗'
print(names)
# jieguo: ['old_driver', 'rain', 'jack', '姗姗', 'peiqi', 'alex', 'black_girl']

#4 往names列表里rain的后面插入一个子列表,[oldboy, oldgirl]
names.insert(2,['oldboy','oldgirl'])
print(names)
# jieguo: ['old_driver', 'rain', ['oldboy', 'oldgirl'], 'jack', '姗姗', 'peiqi', 'alex', 'black_girl']

# 返回peiqi的索引值
names.index('peiqi')
print(names.index('peiqi'))
# jieguo: 5

#6 创建新列表[1,2,3,4,2,5,6,2],合并入names列表

names2 = [1,2,3,4,5,6,2]
print(names + names2)
# jieguo: ['old_driver', 'rain', ['oldboy', 'oldgirl'], 'jack', '姗姗', 'peiqi', 'alex', 'black_girl', 1, 2, 3, 4, 5, 6, 2]

#7 取出names列表中索引4-7的元素

a = names[4:7]
print(a)
# jieguo: ['姗姗', 'peiqi', 'alex']

#8 取出names列表中索引2-10的元素,步长为2
b = (names + names2)[2:10:2]
print(b)
# jieguo: [['oldboy', 'oldgirl'], '姗姗', 'alex', 1]

#9 取出names列表中最后3个元素
c = names2[-3:]
print(c)
# jieguo: [5,6,2]

#10 循环names列表,打印每个元素的索引值,和元素
count = 0
for i in names:
    print(count, i)
count +=1

# for i in enumerate(names):  #枚举
#     print(i)
for index,i in enumerate(names):
    print(index, i)

#11 循环names列表,打印每个元素的索引值,和元素,当索引值 为偶数时,把对应的元素改成-1
for index, i in enumerate(names):
    if index %2 == 0: #偶数
        names[index] = -1
        print(index, i)
print(names)
# jieguo: [-1, 'rain', -1, 'jack', -1, 'peiqi', -1, 'black_girl']

#12 names里有3个2,请返回第2个2的索引值。不要人肉数,要动态找(提示,找到第一个2的位置,在此基础上再找第2个)
# 这种方法不可取,因为将列表的元素改变了
# names[names.index(2)] = 'x'
# print(names.index(2))
#由于列表中有相同的元素的时候,只能返回第一个元素的索引,所以这个时候将一个不同的元素替换掉这个相同的元素的时候,就可以返回第二个相同元素的所以
# 正确方法
# 可以使用切片的方法,当找到第一个元素之后,从第一个元素后面切割出一个新的列表,然后在新的列表中找到第一个元素,然后用第一次找到的元素的索引加上第二次找到的元素的索引在加上1就找到了题目答案

names = ['old_driver','rain','jack','shanshan','peiqi','black_girl',1,2,3,4,2,5,6,2]
first_index = names.index(2)
new_list = names[first_index+1:]
second_index = new_list.index(2)
second_val = names[first_index+second_index+1]
print(new_list,first_index,second_index)
print("second values", second_val)

# jieguo: [3, 4, 2, 5, 6, 2] 7 2
# second values 2

#13  现有商品列表如下:
# 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 = [['Iphone',6888],['MacPro',14800],['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799]]
print("-------- 商品列表 --------")
for index,i in enumerate(products):
    print(index,i[0],i[1])

# jieguo:
# -------- 商品列表 --------
# 0 Iphone 6888
# 1 MacPro 14800
# 2 小米6 2499
# 3 Coffee 31
# 4 Book 80
# 5 Nike Shoes 799
# 正确方法 格式化输出
products = [['Iphone',6888],['MacPro',14800]['小米',2499]['Coffee',31]['Book',80],['NikeShoes',799]]
print("-------- 商品列表 ---------")
for index, i in enumerate(products):
    print("%s. %s   %s" %(index,i[0],i[1]))
# jieguo:
# -------- 商品列表 --------
# 0 Iphone 6888
# 1 MacPro 14800
# 2 小米6 2499
# 3 Coffee 31
# 4 Book 80
# 5 Nike Shoes 799

#14 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里, 最终用户输入q退出时,打印购物车里的商品列表
exit_flag = False # 标志位,控制while循环
products = [['Iphone',6888],['MacPro',14800],['小米',2499],['Coffee',31],['Book',80],['NikeShoes',799]]
shopping_cart = [] # 创建购物车
while not exit_flag:
    print("--------- 商品列表 ---------")
    for index, i in enumerate(products):
        print("%s. %s  %s" %(index, i[0],i[1]))
    choice = input("请问你想买什么:")
    if choice.isdigit():  #isdigit  判断是否为数字
        choice = int(choice)  #str转换为int
        if choice >=0 and choice < len(products):  # 判断输入的数字是否超过列表的长度
            print("%s. %s  %s" %(index,i[0],i[1]))
            shopping_cart.append(products[choice])    # 将选择的商品加入购物车
        else:
            print("您输出的数值有误!")
    elif choice == "q":
        exit_flag = True  #将while的标志位改变,跳出循环
        if len(shopping_cart) > 0:  # 判断购物车是否有产品
            print("--------- 您的购物车商品 ----------")
        for index, i in enumerate(shopping_cart):
            print("%s. %s %s" %(index,i[0],i[1]))
    else:
        print("您输出的数值有误!")

python列表习题相关推荐

  1. 微课|Python列表、字典、集合、字符串对象常用方法串讲

    推荐教材: <Python网络程序设计(微课版)>,ISBN:978-7-3025-8312-7,董付国,清华大学出版社,2021年8月出版 配套资源: 教学大纲.450页PPT.91个例 ...

  2. 上海交通大学python实践教程答案_python实践教程答案(求python课后习题答案)

    这题的答案(python知识) S = [] while 1: string = input("Please input your numbers:") if string ==  ...

  3. Python入门习题大全——检查用户名

    Python入门习题大全--索引 按下面的说明编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式. 创建一个至少包含5个用户名的列表,并将其命名为current_users. 再创建一个包含5 ...

  4. Python入门习题大全——喜欢的水果

    Python入门习题大全--索引 创建一个列表,其中包含你喜欢的水果,再编写一系列独立的 if 语句,检查列表中是否包含特定的水果. 将该列表命名为 favorite_fruits,并在其中包含三种水 ...

  5. Python入门习题大全—— 3 的倍数

    Python入门习题大全--索引 创建一个列表,其中包含 3 ~ 30 内能被 3 整除的数字:再使用一个 for 循环将这个列表中的数字都打印出来. # 3 的倍数 san = [value for ...

  6. 【python】习题第9周

    [python]习题 第9周 22秋季Python第9周作业 函数题 6-1 完数统计 6-2 偶数是两个素数的和 6-3 浮点数的十进制转二进制 6-4 实现象棋中相的走法 6-5 富翁与骗子 - ...

  7. 【python】习题 6-10周

    [python]习题 2 22秋季Python第6周作业 python列表知识 7-1 朗诵比赛得分计算 7-2 列表排序.逆序 7-3 sdut-求整数的位数及各位数字之和 7-4 合并两个列表并去 ...

  8. Python入门习题大全——冰淇淋小店

    Python入门习题大全--索引 冰淇淋小店是一种特殊的餐馆.编写一个名为IceCreamStand的类,让它继承你为完成练习"餐馆"或练习"就餐人数"而编写的 ...

  9. Python入门习题大全——动物

    Python入门习题大全--索引 想出至少三种有共同特征的动物,将这些动物的名称存储在一个列表中,再使用 for 循环将每种动物的名称都打印出来. 1.修改这个程序,使其针对每种动物都打印一个句子,如 ...

最新文章

  1. 张杰和机器人_《80后脱口秀》吐槽高考 张杰化身“机器人”
  2. Kali学习笔记21:缓冲区溢出实验(漏洞发现)
  3. 数据挖掘 —— 半监督学习(标签传播算法)
  4. django 1.9 mysql_Python3.5+Django1.9+MySQL57+PyCharm5.0.1配置
  5. java 线程状态 jstack_jstack查看jvm线程状态
  6. Unity网格合并_材质合并
  7. Linux系统管理初步(七)系统服务管理、chkconfig与systemd 编辑中
  8. Android 上哪个更好:除以 2 还是位移 1?
  9. 点钞机语音怎么打开_这才是华为手机语音助手正确打开方式,远比你想象的要强大很多!...
  10. ul阻燃标准有几个等级_UL阻燃等级介绍说明
  11. 集合体系结构、Collection集合概述及常用方法(附迭代器遍历对象实例)、List(附子类LinkedList、ArrayList特点)、ListIterator、并发修改异常、增强for
  12. NRF52832 SDK 14.0.0设置内部32768
  13. 假设一张纸足够大并且可以无限折叠,假设一张纸足够大并且可以无限折叠,一张纸的厚度是0.5mm,那么这张纸折叠多少次可以到达珠穆朗玛峰的高度8848.43m。
  14. mathematica动态模型的建模分析
  15. 使用网络图展示Venn图集合及Cytoscape操作视频
  16. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
  17. python 声音基频f0_如何得到一个曲子的基频?
  18. python3 math module_Python math hypot()用法及代码示例
  19. 2022年“研究生科研素养提升”系列公益讲座在线测评【2】
  20. 例说hg(六)———— hg branch 创建分支

热门文章

  1. Nginx配置——动静分离
  2. android开发我的新浪微博客户端-OAuth篇(2.1)
  3. Linux搭建Rabbitmq集群
  4. 自主式模块化无人机设计
  5. 4.20. 恺撒Caesar密码
  6. 2020Android面经,历时一个半月,斩获3个大厂offer,移动端开发工程师面试题
  7. docker里mysql精简版_精简Docker镜像的几个方法
  8. 数据库管理 trove openstack
  9. CF-IOT云端通讯协议
  10. ZBrush创建3D模型的方法