学习python第六天 --作业
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
1)计算列列表的⻓长度并输出
ret=len(li)
print(ret)
2)列列表中追加元素"seven",并输出添加后的列列表
li.appen(seven)
print(li)
3)请在列列表的第1个位置插⼊入元素"Tony",并输出添加后的列列表
li.inset(0,"Tony")
print(li)
4)请修改列列表第2个位置的元素为"Kelly",并输出修改后的列列表
li.inset(1,"Kelly")
print("li")
5)请将列列表l2=[1,"a",3,4,"heart"]的每⼀一个元素添加到列列表li中,⼀行代码实 现,不不允许循环添加。
li.extend([1,"a",3,4,"heart"])
print(li)
6)请将字符串串s = "qwert"的每⼀一个元素添加到列列表li中,⼀一⾏行行代码实现,不不 允许循环添加。
li.extend("qwert")
print(li)
7.请删除列列表中的元素"alex",并输出添加后的列表
li.remove("alex")
print(li)
8)请删除列列表中的第2个元素,并输出删除的元素和删除元素后的列列表
del li[1]:
print (li)
9)请删除列列表中的第2至4个元素,并输出删除元素后的列列表
del li [1:5]
print(li)
10)请将列列表所有得元素反转,并输出反转后的列列表
li.reverse()
print(li)
11)请计算出"alex"元素在列列表li中出现的次数,并输出该次数。
ret = li.count("alex")
pint(ret)
2,写代码,有如下列列表,利利⽤用切⽚片实现每⼀一个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
1)通过对li列列表的切片形成新的列列表l1,l1 = [1,3,2]
l1= li[:3]
print (l1)
2)通过对li列列表的切⽚片形成新的列列表l2,l2 = ["a",4,"b"]
l2 = li[3:6]
print (l2)
3)通过对li列列表的切⽚片形成新的列列表l3,l3 = ["1,2,4,5]
l3 = li[::2]
print(l3)
4)通过对li列列表的切⽚片形成新的列列表l4,l4 = [3,"a","b"]
l4 = li[1:7:2]
print(l4)
5)通过对li列列表的切⽚片形成新的列列表l5,l5 = ["c"]
l5 = li[-1:]
print(l5)
6)通过对li列列表的切⽚片形成新的列列表l6,l6 = ["b","a",3]
l6 = li[-3::-2]
print(l6)
3,写代码,有如下列列表,按照要求实现每⼀一个功能。
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() upper变大写的方法
lis[3][2][1][0] = "TT" 修改
lis[3][2][1][0] = lis[3][2][1][0].replace("t", "T") replace修改
2)将列列表中的数字3变成字符串串"100"(⽤用两种⽅方式)。
lis[3][2][1][1] = "100"
lis[3][2][1][1] = str(lis[3][2][1][1] + 97) 把整数3加上97,,然后转换成100str
lis[3][2][1][1] = str(lis[3][2][1][1]).replace("3", "100")
3)将列列表中的字符串串"1"变成数字101(⽤用两种⽅方式)。
lis[3][2][1][2] = int(lis[3][2][1][2]+"01")
lis[3][2][1][2] = 101
lis[3][2][1][2] = int(lis[3][2][1][2].replace("1", "101"))
print(lis.index(["qwe", 20, ["k1", ["tt", 3, "1"]], 89]))
4,请⽤用代码实现:
li = ["alex", "eric", "rain"]
利用下划线将列列表的每⼀一个元素拼接成字符串串"alex_eric_rain"
li = ["alex", "eric", "rain"]
s = ""
for name in li:
s += name+"_"
print(s.strip("_"))
# print("_".join(li))
5.利利⽤用for循环和range打印出下⾯面列列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for c in range(len(li))
print(c)
6.利利⽤用for循环和range找出100以内所有的偶数并将这些偶数插⼊入到⼀一个新列列表 中。
lst = []
for c in range(1:101:2)
lst.append(i)
# 方案二
for i in range(101):
if i % 2 == 0:
lst.append(i)
7.利用for循环和range 找出50以内能被3整除的数,并将这些数插⼊入到⼀一个新列列 表中。
lst = []
for i in range(50):
if i % 3 == 0:
lst.append(i)
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,-1):
# if i % 2 == 0:
# lst.append(i)
# for c in lst:
# if c % 4 == 0:
# print(c)
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 el in li:
el = el.replace(" ", "")
if el.capitalize().startswith("A") and el.endswith("c"):
lst.append(el)
print(lst)
12,开发敏敏感词语过滤程序,提示⽤用户输⼊入评论内容,如果⽤用户输⼊入的内容中
包含特殊的字符: 敏敏感词列列表 li = ["苍⽼老老师", "东京热", "武藤兰", "波多野结⾐衣"]
则将⽤用户输⼊入的内容中的敏敏感词汇替换成等⻓长度的*(苍⽼老老师就替换***),
并添 加到⼀一个列列表中;如果⽤用户输⼊入的内容没有敏敏感词汇,则直接添加到上述的列列 表中
content = input("请输入评论内容")
li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
lst =[]
for i in li:
if i in content:
content = content.replace(i,"*",*len(i))
lst.append(content)
print(lst)
13,有如下列列表 li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"] 循环打印列列表中的每个元素,遇到列列表则再循环打印出它⾥里里⾯面的元素。
# for el in li:
# if type(el) == list: # 百度, 谷歌, stackoverflow
# for el2 in el:
# if type(el2) == str:
# print(el2.lower())
# else:
# print(el2)
# else:
# if type(el) == str:
# print(el.lower())
# else:
# print(el)
14. 把班级学⽣生数学考试成绩录⼊入到⼀一个列列表中: 并求平均值. 要求: 录⼊入的时候 要带着⼈人名录⼊入, 例例如: 张三_44
# lst = [] # 张三_44, 张三_44, 张三_44
# # 数据的录入
# while 1:
# content = input("请输入学生信息(q)退出:")
# if content.upper() == "Q":
# break
# lst.append(content)
#
# # 计算总分
# score = 0
# for el in lst: # 张三_44
# score += int(el.split("_")[1])
#
# # 平均值
# print(score / len(lst))
15. 敲七游戏. 从0开始数数. 遇到7或者7的倍数要在桌上敲⼀一下. 编程来完成敲 七
lst = []
content = int(input("请输入数字:"))
for i in range(1,content+1):
if i % 7 ==0 or "7" in str(i):
print("咣")
else:
print(i)
16. (升级题) 编写程序. 完成⼼心动⼥女女⽣生的筛选. (升级题) 首先. 程序会提示⽤用户录⼊入10位⼼心仪⼥女女⽣生的姓名.
然后把10位⼥女女⽣生的名 字和序号展示出来. 由⽤用户选择⼼心动⼥女女⽣生.
此时⽤用户可以选择3个⼼心动⼥女女⽣生. 把⽤用 户选中的三个⼼心动⼥女女⽣生的名字打印出来. 供⽤用户继续选择.
这⼀一次选择. 只能选 择⼀一名⼥女女⽣生. 然后输出⽤用户的⼼心动⼥女女⽣生是xxx
运⾏行行效果:
count=1
girls=[]
count1=0
girl3=[]
count2=0
while count<=10:
girl=input("请输入你心仪的女生(你还可以输入%s个):" % (11-count))
girls.append(girl)
count+=1
else:
print("你当前心仪的女生有:")
for i in range(len(girls)):
print("编号:%s,名字:%s"% (i+1,girls[i]))
# print("请输入你更喜欢的的三个女人的编号:")
while True:
while count1<3:
more_like=int(input("请输入你更喜欢的女生(你还可以输入%s个):" % (3-count1)))
girl3.append(girls[more_like-1])
count1+=1
else:
print("更喜欢的列表更新")
print(girl3)
last=int(input("输入你最喜欢的人的编号:"))
print("程序帮你选出来了,你最喜欢的是%s" % (girl3[last-1]))
break