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)

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

相关推荐
进击的圆儿10 分钟前
高并发内存池项目开发记录 - 02
开发语言·c++·实战·项目·内存池
xingxing_F16 分钟前
Swift Publisher for Mac 版面设计和编辑工具
开发语言·macos·swift
你才是向阳花18 分钟前
如何用python来做小游戏
开发语言·python·pygame
夜晚中的人海22 分钟前
【C++】使用双指针算法习题
开发语言·c++·算法
怀旧,23 分钟前
【Linux系统编程】3. Linux基本指令(下)
linux·开发语言·c++
艾莉丝努力练剑25 分钟前
【C++STL :stack && queue (三) 】优先级队列的使用以及底层实现
linux·开发语言·数据结构·c++·stl
web安全工具库1 小时前
Makefile 模式规则精讲:从 %.o: %.c 到静态模式规则的终极自动化
linux·运维·c语言·开发语言·数据库·自动化
'需尽欢'1 小时前
基于 Flask+Vue+MySQL的研学网站
python·mysql·flask
從南走到北1 小时前
JAVA代泊车接机送机服务代客泊车系统源码支持小程序+APP+H5
java·开发语言·微信小程序·小程序
新子y2 小时前
【小白笔记】最大交换 (Maximum Swap)问题
笔记·python