PTA Python 作业六 – 解题思路与代码分享
目录
判断题
选择题
编程题
7-1 统计一组成绩中不及格的人数
7-2 统计成绩比例
7-3 词频统计
7-4 分析活动投票情况
判断题
1-1 Python字典和集合都是无序的容器。(T)
1-2 运算符“-”可以用于集合的差集运算。(T)
1-3 Python中的列表是不可变的。(F)
1-4 Python中的元组是不可变的。(T)
1-5 一个列表可以是另一个列表的元素。(T)
1-6 字典的元素可以通过键来访问,也可以通过位置来访问。(F)
1-7 Python字典中的“键”不允许重复。(T)
1-8 列表的元素可以是任何类型的对象。(T)
1-9 字典直接打印出来的顺序与创建之初的顺序可能不同。(T)
1-10 所有的序列都是有顺序的。(T)
选择题
2-1 ls = [3.5, "Python", [10, "PYTHON"], 3.6]
,哪个选项是ls[2][-1][1]
的运行结果?(A)
A.Y
B.T
C.P
D.N
2-2 以下选项不属于组合数据类型的是:(A)
A.浮点数类型
B.序列类型
C.字典类型
D.集合类型
2-3 如果list1 = [11, 12, 13, 14, 15, 4, 3, 2, 1]
,那么以下那个是list1[:-1]
计算的结果?(B)
A.[0,11, 12, 13, 14, 15, 4, 3, 2,1]
B.[11, 12, 13, 14, 15, 4, 3, 2]
C.[11, 12, 13, 14, 15, 4, 3, 2,1]
D.[0,11, 12, 13, 14, 15, 4, 3, 2,1,0]
2-4 要把5加到列表lst的末尾,可以使用____________ 。(B)
A.lst.add(5)
B.lst.append(5)
C.lst.addLast(5)
D.lst.addEnd(5)
2-5 下列哪些类型的数据可以作为字典中元素的“键”( B)。
A.列表
B.整数
C.集合
D.字典
2-6 以下对列表a = ['a', 'b', 'c', 'd', 'e']操作不正确的是:(D)
A.a[len(a)-1]
B.a[-1]
C.a[-5]
D.a[5]
2-7 下述代码所实现的功能是:( C)
scores = ['小明',99.5, 100, 97.5, 100, 100, 99.5]
sum = sum(scores[1:])
print(sum)
A.输出列表中编号为1的元素
B.输出列表中第一位数字和最后一位数字的和
C.截取列表中元素 [99.5, 100, 97.5, 100, 100, 99.5]并进行累加之后得到总和,最后输出总和
D.从列表中随便输出一位元素
2-8 以下不能创建一个字典的语句是:(C)
A.dict1 = {}
B.dict2 = { 3 : 5 }
C.dict3 = {[1,2,3]: “uestc”}
D.dict4 = {(1,2,3): “uestc”}
2-9 关于组合数据类型的描述,正确的选项是:(A)
A.Python中最常用的映射类型的典型代表是字典类型
B.列表类型里的元素要求是同一种数据类型
C.元组采用大括号{ }方式表示
D.序列类型的元素可以用reverse()方法交换相邻元素的位置
2-10 Python中,以下关于集合的描述错误的是:(D)
A.无法删除集合中指定位置的元素,只能删除特定值的元素。
B.Python集合中的元素不允许重复。
C.Python集合是无序的。
D.Python集合可以包含相同的元素。
编程题
7-1 统计一组成绩中不及格的人数
分数 15 作者 python备课组 单位 福州大学至诚学院
输入n个学生的成绩(n也由键盘输入),统计平均分及成绩不及格的人数。
输入格式:
1.第一行输入一个正整数,表示指定输入的人数n。
2.从第二行开始每行输入一个数,共n行,表示n个成绩。
输出格式:
有……个学生不及格。
输入样例:
5
50
70
60
80
30
输出样例:
平均分为:58.00,有2个学生不及格。
运行程序:
adv = 0
a = 0
x=eval(input())
for i in range(0,x):
score = eval(input())
adv+=score
if score<60:
a+=1
print("平均分为:{:.2f},有{}个学生不及格。".format(adv/x,a))
7-2 统计成绩比例
分数 15 作者 python备课组 单位 福州大学至诚学院
编写程序实现:输入一个小组若干个学生成绩,统计这个小组成绩的优秀率(以85分及以上成绩为优秀)。
输入格式及样例:
在同一行输入若干个学生成绩,以逗号间隔。
50,80,60,78,95,86,85,74,67,75
输出格式及样例:
输出“优秀率为……%。”字样。提示:格式符 %% 可以输出一个%号
优秀率为30.00%。
运行程序:
s=tuple(map(int,input().split(',')))
a = 0
b = 0
for i in s:
if i>=85:
a+=1
b+=1
print("优秀率为{:.2f}%。".format(a/b*100))
7-3 词频统计
分数 15 作者 python备课组 单位 福州大学至诚学院
输入一个字符串,字符串包含多个单词,单词间用一个空格分隔,字符串里没有任何标点符号。要求将该字符串中单词和单词出现的次数保存到字典中,并输出字典。
输入格式:
一个包含多个单词的字符串,单词间用一个空格分隔,字符串里没有任何标点符号。
输出格式:
输出一个字典。
输入样例:
在这里给出一组输入。例如:
life is short we need python we need python
输出样例:
在这里给出相应的输出。例如:
{'life': 1, 'is': 1, 'short': 1, 'we': 2, 'need': 2, 'python': 2}
运行程序:
a = {}
s = tuple(input().split())
for i in s:
if i in a:
a[i]+=1
else:
a[i]=1
print(a)
7-4 分析活动投票情况
分数 15 作者 陈春晖 单位 浙江大学
利用集合分析活动投票情况。第一小队有五名队员,序号是1,2,3,4,5;第二小队也有五名队员,序号6,7,8,9,10。输入一个得票字符串,求第二小队没有得票的队员
输入格式:
在一行中输入得票的队员的序列号,用逗号隔开。
输出格式:
一行中输出第二小队没有得票的队员序号。
输入样例:
在这里给出一组输入。例如:
1,5,9,3,9,1,1,7,5,7,7,3,3,1,5,7,4,4,5,4,9,5,10,9
输出样例:
在这里给出相应的输出。例如:
6 8
运行程序:
l=list(map(int,input().split(',')))
s=[]
for i in range(6,11):
if i not in l:
s.append(i)
print(*s,sep=' ')