4.列表和元组作业

1,写代码,有如下列表,按照要求实现每一个功能

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

1)计算列表的长度并输出

2)列表中追加元素"seven",并输出添加后的列表

3)请在列表的第1个位置插入元素"Tony",并输出添加后的列表

4)请修改列表第2个位置的元素为"Kelly",并输出修改后的列表

5)请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

6)请将字符串串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表

9)请删除列表中的第2⾄至4个元素,并输出删除元素后的列表

10)请将列列表所有得元素反转,并输出反转后的列表

11)请计算出"alex"元素在列表li中出现的次数,并输出该次数。 

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
print(len(li))
li.append("seven")
print(li)
li.insert(1,"Tony")
print(li)
li[1]="Kelly"
print(li)
l2=[1,"a",3,4,"heart"]
li.extend(l2)
print(li)
s = "qwert"
li.extend(s)
print(li)
print(li.pop(1))
print(li)
del li[1:4]
print(li)
li.reverse()
print(li)
print(li.count("alex"))

2,写代码,有如下列表,利用切片实现每一个功能

li = [1, 3, 2, "a", 4, "b", 5,"c"]

1)通过对li列表的切片形成新的列表l1,l1 = [1,3,2]

2)通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]

3)通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]

4)通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]

5)通过对li列表的切片形成新的列表l5,l5 = ["c"]

6)通过对li列表的切片形成新的列表l6,l6 = ["b","a",3] 

li = [1, 3, 2, "a", 4, "b", 5,"c"]
print(li[:3])
print(li[3:6])
print(li[::2])
print(li[1:6:2])
print(li[-1::])
print(li[-3::-2])

3,写代码,有如下列表,按照要求实现每一个功能。

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]

1)将列表lis中的"tt"变成大写(用两种方式)。

2)将列表中的数字3变成字符串"100"(用两种方式)。

3)将列表中的字符串"1"变成数字101(用两种方式)。 

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
#1)将列表lis中的"tt"变成⼤写(⽤两种⽅式)。
lis[3][2][1][0] = lis[3][2][1][0].upper()
lis[3][2][1][0] = lis[3][2][1][0].replace("t", "T")
lis[3][2][1][0] = "TT"
lis[3][2][1][0] = lis[3][2][1][0].swapcase()
#2)将列表中的数字3变成字符串"100"(⽤两种⽅式)。
lis[3][2][1][1] = "100"
lis[3][2][1][1] = str(lis[3][2][1][1] + 97)
lis[1] = str(lis[1] + 97)

#3)将列表中的字符串"1"变成数字101(⽤两种⽅式)。
lis[3][2][1][2] = 101
lis[3][2][1][2] = int(lis[3][2][1][2]) + 100)
lis[3][2][1][2] = int(lis[3][2][1][2] + "01")

4,请用代码实现:

li = ["alex", "eric", "rain"] 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"

li = ["alex", "eric", "rain"] # alex_eric_rain   1+2+3+4
s = ""
for item in li: # item 列表中的每一个名字
    s += item + "_"  # "alex_eric_rain_"
s = s[:-1]
print(s)

5.利用for循环和range打印出下面列表的索引。

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for i in range(len(li)):
    print(i)

6.利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中。

lst = []
for i in range(100):
    if i % 2 == 0:
        lst.append(i)
print(lst)

7.利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中。

lst = []
for i in range(50):
    if i % 3 == 0:
        lst.append(i)
print(lst)

8.利用for循环和range从100~1,倒序打印。

for i in range(100, 0, -1):
    print(i)

9.利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中,然后对列表的元素进行筛选,将能被4整除的数留下来。

lst = []
for i in range(100, 9, -2):
    if i % 4 == 0:
        lst.append(i)
print(lst) 

10,利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*。

lst = []
for i in range(1, 31):
    lst.append(i)
for i in range(len(lst)):
    if lst[i] % 3 == 0:
        lst[i] = "*" #  修改成*
print(lst)

11,查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并 以"c"结尾的所有元素,并添加到一个新列表中,后循环打印这个新列表。

li = ["TaiBai ", “ale xC", “AbC ", "egon", " ri TiAn", "WuSir", " aqc"]

li = ["TaiBai ", "ale xC", "Abc ", "egon", " ri TiAn", "WuSir", " aqc"]
lst = []
for item in li:
    # 去空格
    content = item.replace(" ", "")
    if (content.upper().startswith("A")) and content.endswith("c"):
        lst.append(content)
print(lst)

12,开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中 包含特殊的字符:

敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"] 则将用户输入的内容中的敏感词汇替换成等长度的*(苍老师就替换***),并添 加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。

li = ["苍老师", "东京热", "武藤兰", "波多野结衣", "sb","dsb"]
concent = input("输入评论").strip()
for i in li: # i是每一个敏感词
    if i in concent: #判断是否包含敏感词
        concent = concent.replace(i,"*"*len(i)) #替换敏感词为*
print(concent)

13,有如下列表

li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"] 循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。 我想要的结果是:

1

3

4

alex

3

7

8

taibai

5

ritian

li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
for el in li: # 获取到第一层内容
    if type(el) == list: # 判断元素是否是xxx数据类型
        for item in el: # 循环内层列表
            print(str(item).lower())
    else:
        print(str(el).lower())

14. 把班级学生数学考试成绩录入到一个列表中: 并求平均值要求: 录入的时候要带着人名录入,

例如: 张三_44

names = []
sum=0
while 1:
    conter = input("请输入姓名_分数")
    if conter.upper() == "Q":
        break
    else:
        names.append(conter)
for i in names:
    s = i.split("_")
    sum += int(s[1])
print(sum / len(names))

15. 敲七游戏. 从0开始数. 遇到7或者7的倍数要在桌上敲一下. 编程来完成敲

s = []
conter = input("请输入数字:")
for i in range(1,int(conter)):
    if i % 7 == 0 or str(7) in i:
        i = "咣"
        s.append(i)
    else:
        s.append(i)
print(s)

16. (升级题) 编写程序. 完成心动女生的筛选. (升级题) 
       

首先. 程序会提示用户录入10位心仪女生的姓名. 然后把10位女生的名 字和序号展示出来. 由用户选择⼼心动女生. 此时用户可以选择3个心动女⽣生. 把用 户选中的三个心动女生的名字打印出来. 供用户继续选择. 这一次选择.只能选 择一名女生. 然后输出用户的心动女生是xxx  运行效果: 

chuxuan_lst = []
for i in range(10):
    name = input("请输入你的心动女生(还可以输入%s个):" % (10 - i))
    chuxuan_lst.append(name)
# ['刘嘉玲', '林志玲', '安安', '小茹', '晓雪', '强哥', '胡辣汤', '宝宝', '萌萌', '磊磊']
print("您现在的心动女生有:")
for i in range(len(chuxuan_lst)):
    print(i + 1, chuxuan_lst[i]) # 显示10个女生
# 从10个里面选择三个
fuxuan_list = []
for i in range(3):
    bh = input("请输入你要选择的三个女生(还剩下%s个)" % (3-i))
    # 编号还原回索引
    index = int(bh) - 1
    fuxuan_list.append(chuxuan_lst[index])
print("您现在经过初选之后剩下的心动女生:")
for i in range(len(fuxuan_list)):
    print(i + 1, fuxuan_list[i])
bh = input("请从这三个女生中选择一个你最喜欢的:")
index = int(bh) - 1
print("您最终喜欢的女生是%s" % (fuxuan_list[index]))

   

posted @ 2018-12-01 21:59  等待の喵  阅读(393)  评论(0编辑  收藏  举报