第三节:打字小游戏项目
课程目标
- 应用之前学习的知识
- 学习如何开发简单的Python程序
- 增强编程实践能力和问题解决能力
课程内容
1. 项目介绍
2. 需求分析
- 功能需求
- 随机显示单词
- 记录用户输入
- 判断输入是否正确
- 计算打字速度和准确率
3. 设计思路
- 程序结构
- 主函数:控制游戏流程
- 输入处理:获取用户输入
- 结果判断:比较用户输入和标准答案
- 性能统计:计算打字速度和准确率
4. 编码实现
5. 测试与调试
相关代码
import random
import time
class Dazi():
def __init__(self,words) -> None:
self.words = words
def show(self):
self.word = random.choice(self.words)
print("请输入单词:",self.word)
def get_user_input(self):
start_time = time.time()
self.user_input = input()
end_time = time.time()
self.expense_time = end_time - start_time
def junge(self):
if self.user_input == self.word:
print("输入正确")
else:
print("输入错误")
def evaluate(self):
print(f"【花费时间】{self.expense_time}")
v = len(self.user_input) / self.expense_time
print(f"【速度】{v}")
max_len = max(len(self.user_input),len(self.word))
min_len = min(len(self.user_input),len(self.word))
zhengqueshu = 0
for i in range(min_len):
if self.user_input[i] == self.word[i]:
zhengqueshu += 1
acc = zhengqueshu/max_len
print(f"【正确率】{acc}")
def play(self):
print("游戏开始!")
self.show()
self.get_user_input()
self.junge()
self.evaluate()
words = ["python", "programming", "game", "challenge"]
dazi = Dazi(words)
dazi.play()