路飞学城——python开发集训——第二章(2)练习题

一: 本节学习心得与体会

  1.   体会到了编程就得,多练习,列表字典集合这些知识虽然简单,但练习题做起来还是有点磕磕绊绊的。
  2.   加深了几个重要的知识点的使用,譬如,在索引里用索引names[names.index("shanshan")],最后几个元素可以用加负号表示print(names[-3:]),还有列表的第12道题,要灵活用切片,遍历第一个2的索引之后的全部元素。
  3. 以后学到新知识要多多练习。

二:练习题

1.列表练习题

#1、创建一个空列表,命名为names,往里面天添加old_driver,rain,jack,shanshan,peiqi,black,black_girl元素
names = []
names.append("old_driver")
names.append("rain")
names.append("jack")
names.append("shanshan")
names.append("peiqi")
names.append("black")
names.append("black_girl")


#2、往names列表里black_girl前面插入一个alex
names.insert(names.index("black_girl"),"alex")


#3、把shanshan的名字改成中文 姗姗
names[names.index("shanshan")] = "姗姗"


#4、往names列表里rain的后面插入一个子列表[oldboy,oldgirl]

names.insert(names.index("rain"),["oldboy","oldgirl"])


#5、返回peiqi的索引
print(names.index("peiqi"))

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

#7、取出names列表中索引4-7的元素
print(names[4:7])

#8、取出names列表中索引2-10的元素,步长为2
print(names[2:10:2])

#9、取出names列表中最后3个元素
print(names[-3:])

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

#11、循环names列表,打印每个元素的索引值和元素,当索引值为偶数,把对应的元素改成-1
方法一
count = 0
for i in names:
    if count%2 == 0 :
        names[count] = -1
        print(count,i)
        count += 1

    else:
        print(count,i)
        count += 1
print(names)



#12、names里有3个2,请返回第2个2的索引值,不要人肉数,要动态找(提示,找到第一个2的位置,在此基础上再找第2个)
count=0
first=names.index(2)
for i in names[first+1:]:
    if i==2:
        second= first+count+1
    count+=1
print(second)

#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 = [ ['Iphone8',6888],['MacPro',14800], ['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799] ]

print("---------商品列表----------")
index=0
for  i in products:
    print( index,i[0], i[1])
    index+=1



#14、写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里边的商品列表
shop = []
while True:
    print("---------商品列表----------")
    index = 0
    for i in products:
        print(index, i[0], i[1])
        index += 1

    want = input("您想要买什么,请输入商品编号,输入q退出")
    if want.isdigit():
        want = int(want)
        shop.append(products[want])

    elif want == "q":
        print("您已购买以下商品:")
        for i in shop:
            print(i[0], i[1])
        break

2字典练习题

#写代码,有如下字典,按照要求实现每一个功能
dic = {
    "k1":"v1",
    "k2":"v2",
    "k3":"v3"
}
#1、请循环遍历出所有的key
for k in dic:
    print(k)

#2、请循环遍历出所有的value
for k in dic:
    print(dic[k])

#3、请循环便利出所有的key 和value
for k in dic:
    print(k,dic[k])

#4、请在字典中添加一个键值对 "k4":"v14",输出添加后的字典
dic["k4"] = "v4"


#5、请删除字典中键值对"k1","v1" 并输出删除后的自恋
dic.pop("k1")
print(dic)


#6、请删除字典中的键值“k5”,如果字典中不存在键“k5” ,则不报错,返回None
dic.pop("k5")

#7、请获取字典中“k2”对应的值
print(dic.get("k2"))

#8、请获取字典中“k6”对应的值,如果键“k6”不存在,则不报错,并且让其返回None
print(dic.get("k6"))

#9、现有dic2 = {"k1":"v111","a":"b"} 通过一行操作使 dic2 ={'k1': 'v1', 'a': 'b', 'k2': 'v2', 'k3': 'v3'}
dic2 = {"k1":"v111","a":"b"}
dic = {"k1":"v1","k2":"v2","k3":"v3"}
dic2.update(dic)
print(dic2)

#10、组合嵌套题,写代码,有如下列表,按照要求实现每一个功能
lis = [["k",["que",20,{"k1":["tt",3,"1"]},89],"ab"]]
#10.1 将列表lis中的“tt”变成大写(用两种方式)
lis[0][1][2]["k1"][0] = "TT"
print(lis)
lis[0][1][2]["k1"]= ["TT",3,"1"]
print(lis)
#10.2 将列表中的数字3变成字符串“100”(用两种方式)
lis[0][1][2]["k1"][1] = "100"
print(lis)
lis[0][1][2]["k1"][1] = ["TT","100","1"]
#10.3 将列表中的字符串“1”变成数字101(用两种方式)
lis[0][1][2]["k1"][2] = 101
print(lis)
lis[0][1][2]["k1"][1] = ["TT","100","101"]

猜你喜欢

转载自www.cnblogs.com/andydong/p/9222211.html