一、编程题
1、火柴棍游戏
用火柴棍拼成数字 0~9,具体拼法如图所示:
编写 Python 程序,实现输入火柴棍的数量,输出符合该火柴棍数的三位数组合,若找不到,则输出“没有符合要求的数”,见样例,程序如下:
请在划线处填入合适代码。
code={0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6}
num=int(input("请输入火柴棍数量:"))
flag=False
for i in range( ① ):
if ② +code[i//10%10]+ ③ ==num:
print("可以组成的三位数:",i,sep="")
flag=True
if ④ :
print("可以组成的三位数:","没有符合要求的数",sep="")
参考答案:```pythoncode=0:6,1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6num=int(input("请输入火柴棍数量:"))flag=Falsefor i in range(100,1000):if code[i//100]+code[i//10%10]+code[i%10] ==num:print("可以组成的三位数:",i)flag=Trueif not flag:print("没有符合要求的数")```
解析:【喵呜刷题小喵解析】:
1. 首先,定义了一个字典`code`,用于存储每个数字对应的火柴棍数量。
2. 通过`input()`函数获取用户输入的火柴棍数量,并转化为整数类型。
3. 初始化一个标志位`flag`为`False`,用于后续判断是否有符合要求的三位数。
4. 使用`for`循环遍历所有三位数(100到999)。
5. 在循环体内,判断当前三位数的火柴棍数量是否等于用户输入的数量。如果是,则输出该三位数,并将`flag`设置为`True`。
6. 如果循环结束后`flag`仍为`False`,则说明没有找到符合要求的三位数,输出“没有符合要求的数”。
2、得分处理
智龙是一名篮球队的教练,为了方便对球员进行精准分析,他需要记录球队每个队员的得分,并按照得分从高到低进行排序。请你帮助他完成以下任务:
(1)创建一个空的列表 scores,用于存储队员的得分;
(2)使用循环,依次输入每个队员的得分,将得分添加到 scores 列表中;当输入“stop”时停止输入。
(3)使用 sorted() 函数对 scores 列表进行排序,得到一个新的列表 sorted_scores,按照得分从高到低排序;
(4)打印出排序后的队员得分。
程序代码如下,请你补全代码。
scores= ①
while True:
score = ② ("请输入队员的得分(输入 stop 字符串结束):")
if score == "stop":
③
scores.append(int(score))
sorted_scores = ④
print("排序后的队员得分:", sorted_scores)
参考答案:① []② input③ break④ sorted(scores)
解析:【喵呜刷题小喵解析】:
根据题目要求,我们需要补全代码。
① 创建一个空的列表用于存储队员的得分,所以这里应该填入 `[]`。
② 使用 `input()` 函数获取用户输入,所以这里应该填入 `input`。
③ 当输入为 "stop" 时,需要跳出循环,所以这里应该填入 `break`。
④ 使用 `sorted()` 函数对 `scores` 列表进行排序,得到一个新的列表 `sorted_scores`,按照得分从高到低排序,所以这里应该填入 `sorted(scores)`。
3、知识竞赛活动
学校开展“学宪法"知识竞赛活动,其中有一项任务为完成“学宪法”答卷记得分。答卷含有 5 个客观题和 5 个主观题,其中客观题 1-4 题为单选题,第 5题为多选题,单选题每题分值为 2 分;多选题全对得 2 分,漏选、少选得 1 分, 多选错选不得分。为了提高改卷效率,学校信息技术组的老师设计并编写了一个 Python 小程序,输入客观题正确答案和答卷上的答案,即可计算得分。
实现上述功能的 Python 程序如下,运行界面如图所示。
请输入客观题(5 道)标准答案:AABDACD
请输入客观题(5 道)题学生答案:ABBDAC
该学生客观题得分为:7 分
实现上述功能的 Python 程序如下,请在划线处填入合适的代码。
def judge(x,y):
f=True
i=0
while i<len(y):
if y[i] not in x:
①
break
i+=1
return f
num=0
key=input("请输入客观题(5 道)标准答案:")
s=input("请输入客观题(5 道)题学生答案:")
for j in range(5):
if j==4:
if key[j:len(key)]==s[j:len(s)]:
num+=2
elif ② :
num+=1
else:
if s[j]==key[j]:
③
print("该学生客观题得分为:"+ ④ +"分")
参考答案:1. 在划线处①处填写`f=False`。2. 在划线处②处填写`set(key[j:j+2])&set(s[j:j+2])`。3. 在划线处③处填写`num+=2`。4. 在划线处④处填写`str(num)`。
解析:【喵呜刷题小喵解析】:
根据题目要求,我们需要编写一个Python程序,输入客观题标准答案和学生答案,计算学生得分。
首先,我们需要一个函数`judge(x,y)`,其中`x`是标准答案,`y`是学生答案。这个函数的作用是判断学生答案是否包含标准答案中的每个选项,并返回一个布尔值。但是在这个题目中,我们需要的是判断学生答案是否和标准答案一致,所以我们需要对函数进行一些修改。
其次,我们需要输入标准答案和学生答案,然后遍历学生答案中的每个选项,判断它是否和标准答案中的对应选项一致。如果一致,就增加相应的分数。
对于客观题1-4题,因为它们是单选题,所以如果学生答案和标准答案一致,就增加2分。
对于客观题第5题,因为它是多选题,所以我们需要判断学生答案和标准答案是否包含相同的选项。如果包含相同的选项,就增加1分。如果全部包含,就增加2分。
最后,我们需要输出学生得分。
根据上述分析,我们可以得出上述答案。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!