python第四章 列表与元组 课后习题

一,已知列表l=[54,36,75,28,50],请根据要求完成以下操作:
1.在列表尾部插入元素42。
2.在28前面插入元素66。
3.删除并输出元素28。
4.将列表按降序排序。
5.清空整个列表。

l=[54,36,75,28,50]

l.append(42)
print(l)

l.insert(3,66)
print(l)

print(l.pop(4))
print(l)

l.sort(reverse=True)
print(l)

for i in range(len(l)):
    l.pop()

print(l)

#结果

[54, 36, 75, 28, 50, 42]
[54, 36, 75, 66, 28, 50, 42]
28
[54, 36, 75, 66, 50, 42]
[75, 66, 54, 50, 42, 36]
[]

二,使用列表生成式,其元素为100以内所有能被3整除的数。

#方法一  使用列表生成式对3到100之间的整数进行遍历步长为3
l=[i for i in range(3,100,3)]
print(l)
#方法二 利用if语句对3到100之间的数进行取余判断是否能被3整除。
l=[i for i in range(3,100) if i % 3==0]
print(l)

#结果

[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]

三,根据表4-3创建列表,并完成如下操作:
1.计算十年平均录取率。
2.找出录取率最高的年份。

python第四章 列表与元组 课后习题

rate_years=[(2006,57),(2007,56),(2008,57),(2009,62),(2010,69),(2011,72),(2012,75),(2013,76),(2014,74.3),(2015,74)]
rates=[item[1] for item in rate_years]
print(rate_years)
print(rates)

avg=sum(rates)/len(rates)
print("十年平均录取率为{:.2f}%".format(avg))

topYear=rate_years[rates.index(max(rates))]
print("录取率最高的年份是{}年,录取率为{}%.".format(topYear[0],topYear[1]))

#结果

十年平均录取率为67.23%
录取率最高的年份是2013年,录取率为76%.

四,输入一句英文英语,求其中最长的单词长度。

sen=input(" ")
words=sen.split()
length=[len(word) for word in words]
maxlen=max(length)
print("The longest word is {},There are {} letters in all.".format(words[length.index(maxlen)],maxlen))

#结果

You are the best
The longest word is best,There are 4 letters in all.

五,创建长度为20的列表,其元素为1000~5000以内的随机整数。编写程序找出不能被10以内素数整除的元素。

import random

ls=[random.randint(1,1000) for i in range(20)]
ts=(2,3,5,7)

l1=[0]*len(ls)
for i in range(len(ls)):
    for t in ts:
        if ls[i] % t==0:
            l1[i]=1
l2=[]
for i in range(len(ls)):
    if l1[i]==0:
        l2.append(ls[i])

print("生成的20个1000~5000的随机数是:")
print(ls)

print("其中不能被10以内素数整除的数是:")
print(l2)

#结果 随机

生成的20个1000~5000的随机数是:
[216, 298, 782, 870, 613, 800, 729, 110, 199, 487, 80, 582, 615, 65, 643, 108, 9, 12, 927, 794]
其中不能被10以内素数整除的数是:
[613, 199, 487, 643]

六,用嵌套的列表存储运动会报名表(见表4-4),并编程完成如下操作:
1.求报名项目超过两项(含两项)的学生人数。
2.输出女生的报名情况。
3.输出所有报名3000m的学生姓名和性别。

python第四章 列表与元组 课后习题

tables=[['王平','男',1,1,0,0],
        ['李丽','女',0,1,0,1],
        ['陈小梅','女',0,0,1,0],
        ['孙洪涛','男',0,1,1,1],
        ['方亮','男',1,0,1,0]]

n=0
for item in tables:
    if item.count(1)>=2:
        n+=1

print(n)
        
lv=[]
for item in tables:
    if item[1]=='女':
        lv.append(item)

print(lv)

#结果

4
[[‘李丽’, ‘女’, 0, 1, 0, 1], [‘陈小梅’, ‘女’, 0, 0, 1, 0]]
王平 男
李丽 女
孙洪涛 男

上一篇:低延迟 Java(1):介绍


下一篇:Java 核心技术总结出 PDF 版本了!!!