python应用题例子--改试卷

要求:在现实生活中,写一些小函数帮助老师改卷子,比如选择题,本次数学题有12道,正解答案是ABCDCCDDBABA,请根据正确答案,找出学生的错误题并统计正常率。

CORRECT_ANSWERS="ABCDCCDDBABA" #一般习惯是常量的变量名为大写。

def answers(ans):

done = False #给个开关

while not done:

userAnswers = input("请输入你的答案:")

if len(userAnswers ) == len(ans): #确保输入的答案数量是正常的,否则提示异常

done = True #关闭开关

else:

print("您输入的答案长度不对")

munQuestions = len(ans) #用于for循环长度

numCount = 0 #用于统计正确数

results = ""#用于存放结果

for i in range(munQuestions ):

if userAnswers[i].supper() == ans[i]: #匹配正确,匹配大小写字母

numCount +=1 #正确数+1

results = results + userAnswers[i] #把正确答案存放进来

else:

results = results + "X" #存入一个大大的X

if numCount==munQuestions:

print("完美,答案全对")

else:

print("你答错了%d道题,错题项是:%s" % (munQuestions-numCount,results ))

print(f"正确率是:{(numCount/munQuestions)*100:.2f} %" )

执行 answers(CORRECT_ANSWERS)

写代码还是得多敲,实现动起手来跟头脑里过想的结果可能还不太一样。多写多敲,自然就会熟练。

相关推荐
猿界零零七17 分钟前
pip install mxnet 报错解决方案
python·pip·mxnet
炸膛坦客33 分钟前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生1 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客2 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲2 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
不只会拍照的程序猿2 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin2 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824963 小时前
代码性能剖析工具
开发语言·c++·算法
Oueii3 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
是wzoi的一名用户啊~3 小时前
【C++小游戏】2048
开发语言·c++