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)

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

相关推荐
木卫四科技3 分钟前
Chonkie 技术深度学习
人工智能·python·rag
Knight_AL13 分钟前
Java 多态详解:概念、实现机制与实践应用
java·开发语言
Omigeq18 分钟前
1.2.1 - 图搜索算法(以A*为例) - Python运动规划库教程(Python Motion Planning)
开发语言·python·机器人·图搜索算法
资深流水灯工程师19 分钟前
基于Python的Qt开发之Pyside6 串口接收数据被分割的解决方案
开发语言·python·qt
没有bug.的程序员22 分钟前
Java 并发容器深度剖析:ConcurrentHashMap 源码解析与性能优化
java·开发语言·性能优化·并发·源码解析·并发容器
万行30 分钟前
机器人系统ROS2
人工智能·python·机器学习·机器人·计算机组成原理
量子炒饭大师1 小时前
【C++入门】零域终端的虚空指针协议——【nullptr】还在为编译器给NULL匹配为int而头疼?nullptr给予你全新的字面量!
开发语言·c++·nullptr
edisao1 小时前
一。星舰到底改变了什么?
大数据·开发语言·人工智能·科技·php
阿豪只会阿巴1 小时前
【多喝热水系列】从零开始的ROS2之旅——Day10 话题的订阅与发布1:Python
开发语言·c++·python·ubuntu·ros2
Frank Castle1 小时前
【C语言】详解C语言字节打包:运算符优先级、按位或与字节序那些坑
c语言·开发语言