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)

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

相关推荐
S***q192几秒前
Rust在系统工具中的内存安全给代码上了三道保险锁。但正是这种“编译期的严苛”,换来了运行时的安心。比如这段代码:
开发语言·后端·rust
执笔论英雄5 分钟前
【RL】python协程
java·网络·人工智能·python·设计模式
打点计时器8 分钟前
matlab 解决wfdb工具使用本地数据集报错
开发语言·matlab
zmzb010313 分钟前
C++课后习题训练记录Day38
开发语言·c++
夏霞24 分钟前
c# 使用vs code 创建.net8.0以及.net6.0 webApi项目的教程
开发语言·c#·.net
T***u33337 分钟前
Rust在Web中的 Web框架
开发语言·后端·rust
bubiyoushang88842 分钟前
MATLAB实现机械臂GUI仿真系统
开发语言·matlab
听风吟丶1 小时前
Java 高级多线程编程:从虚拟线程到结构化并发的实战演进
java·开发语言
lijiatu100861 小时前
C++ 类成员变量声明语法错误
java·开发语言·c++
zore_c1 小时前
【C语言】带你层层深入指针——指针详解2
c语言·开发语言·c++·经验分享·笔记