该程序能实现单词记忆测试的完整流程,首先从words.txt文件中读取单词和释义,通过随机打乱顺序让用户根据英文输入中文释义,记录答题情况,测试结束后将详细结果包括题目、用户答案、正确答案、对错状态及最终得分写入result.txt文件,并自动计算正确率,整个过程由load_words、test_words、save_results等函数分步完成,结构清晰且易于扩展,适合用于python文件操作与基础逻辑训练,最终结果以完整报告形式保存至文件并输出评分,程序运行结束。

开发一个单词记忆测试程序,核心功能包括从文件读取单词、用户测试、记录答案并写入结果文件,最后实现自动评分。整个程序可以使用 Python 实现,简单高效,适合初学者和中级开发者。下面分步骤说明如何实现文件读写与评分功能。
首先,准备一个文本文件(如
words.txt
apple,苹果 hello,你好 world,世界 python,蟒蛇
每行一个单词,英文和中文用逗号分隔。这个文件将作为测试题库。
使用 Python 的文件读取功能加载单词列表:
def load_words(filename):
words = []
try:
with open(filename, 'r', encoding='utf-8') as file:
for line in file:
line = line.strip()
if line and ',' in line:
word, meaning = line.split(',', 1) # 只分割第一个逗号
words.append((word.strip(), meaning.strip()))
except FileNotFoundError:
print(f"错误:找不到文件 {filename}")
return words这样就能把所有单词-释义对读入程序中,用于出题。
程序随机打乱单词顺序,让用户根据英文写中文,或根据中文写英文。这里以“给出英文,回答中文”为例:
import random
def test_words(words):
random.shuffle(words) # 随机打乱
correct = 0
user_answers = []
for word, correct_meaning in words:
answer = input(f"【单词测试】'{word}' 的中文意思是?: ")
# 记录用户回答和正确答案
user_answers.append((word, answer, correct_meaning))
if answer.strip() == correct_meaning:
print("✅ 正确!")
correct += 1
else:
print(f"❌ 错误!正确答案是:{correct_meaning}")
return user_answers, correct测试结束后,把用户的答题情况写入结果文件,便于后续查看或评分:
def save_results(user_answers, score, total, filename="result.txt"):
with open(filename, 'w', encoding='utf-8') as file:
file.write("单词记忆测试结果\n")
file.write("="*30 + "\n")
file.write(f"总题数:{total}\n")
file.write(f"正确数:{score}\n")
file.write(f"得分:{score}/{total} ({score/total*100:.1f}%)\n\n")
file.write("详细记录:\n")
for word, user_ans, correct in user_answers:
status = "✓" if user_ans == correct else "✗"
file.write(f"{word} -> 你答:'{user_ans}' | 正确:'{correct}' [{status}]\n")
print(f"\n结果已保存到 {filename}")def main():
words = load_words("words.txt")
if not words:
print("没有加载到单词,程序退出。")
return
print(f"共加载 {len(words)} 个单词,开始测试!\n")
user_answers, correct = test_words(words)
total = len(words)
score = correct
save_results(user_answers, score, total)
if __name__ == "__main__":
main()scores.log
tkinter
PyQt
基本上就这些。通过文件读取加载题库,程序交互获取答案,最后写入结果文件并评分,结构清晰,易于维护和扩展。不复杂但实用,适合学习 Python 文件操作和基础逻辑设计。
以上就是怎样开发单词记忆测试程序 文件读写与评分功能的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号