知识竞赛活动

mq096410 程序题 共 个子题

题目说明

学校开展“学宪法"知识竞赛活动,其中有一项任务为完成“学宪法”答卷记得分。答卷含有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 或等效答案;(3分)

(2)judge(key[j:len(key)],s[j:len(s)]) 或等效答案;(3分)

(3)num+=2 或等效答案;(2分)

(4)str(num) 或等效答案。(2分) 说明: ①judge函数判断多选题的漏选情况,y[i] not in x:说明错选,直接返回false。同时可以判断,x是标准答案,y是学生答案。

②j==4说明该分支处理多选题,key[j:len(key)]==s[j:len(s)]说明多选题全队得2分,所以②处分支表示漏选的情况,得1分,将标准答案和学生答案作为参数传给自定义函数judge进行判断。

③该分支下,j<=4,说明在处理单选题,标准答案key[j]与学生答案s[j]一致说明正确,得两分。

④得分是num,与字符串拼接,因此答案是str(num) 。

本题为编程题,提交代码并运行通过测试点后判分。

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
提交记录
共 条 仅展示自由练习提交
正在加载提交记录…
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧