当前位置:首页>python>Python教程(18)综合项目——简易打字练习小程序

Python教程(18)综合项目——简易打字练习小程序

  • 2026-09-10 12:59:44
Python教程(18)综合项目——简易打字练习小程序

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

前面我们学了很多零散的知识点:for循环、列表、随机库、time库……今天,我们把这些知识组合起来,做一个真正能用的程序——打字练习小游戏。

这个程序能干什么

程序启动后:

1、显示一个单词,

2、用户输入,

3、判断对错,计分,

4、重复10次后显示成绩。

可以看得出来,这个程序需要用到循环,并且是已知循环次数10次,所以用for循环。

一步步地思考

1、整体框架

既然要用到循环,并且循环次数是10次,所以程序的整体框架就是:

做准备工作

for i in range(10):

    显示单词

    用户输入

    判断对错

显示成绩

2、做哪些准备工作

(1)导入需要的库

import random

import time

(2)建立词库

因为要存很多单词,所以不适合用普通变量,适合用列表

因为篇幅原因,列表中只有4个元素,在完整代码中,可以随意增加。

(3)计分

在正式开始前,需要准备一个计分牌,初值为0,用户答对1题就加10分

score = 0

(4)输出程序标题、规则或其他

用print()语句,输出标题、规则或其他信息,这里就可以自己发挥了。

比如:

3、for循环【重点】

把循环里的三件事逐一拆开看:

(1)如何显示单词

每次都是从词库中随机选一个单词,我们已经学习过“捞”数据。

从words列表中捞出来的数据放到word变量中

word = random.choice(words)

(2)如何让用户输入并计时

我们已经学习过输入语句input(),计时工具time.time()

start = time.time()

    user_input = input("请打出: " + word + " → ")

    end = time.time()

start-end就是用户输入单词所用的时间

(3)如何判断对错

我们还没有学习到if语句,但我相信,你一定能看懂下面的语句

if user_input == word:

    score = score + 10

    print("✅ 正确")

else:

    print("❌ 错误,正确答案是:“ + word)

4、显示成绩

循环结束后,把成绩显示出来,这里也可以自己发挥

比如:

完整代码

完整代码:
本次代码比较长,会提供下载。可以关注本公众号,在后台回复关键词:打字小程序,即可获取下载链接

运行后的效果:

还可以怎样完善

1、增加用户的自由度

思路1:测试题目数量由用户决定

现在的版本是固定10题。如果让用户自己输入题目数量呢?

total = int(input("你想练习几题?"))

for i in range(total):

    循环体

思路2:词库由用户决定:你想测试哪些单词?

如果用户想测试自己准备好的单词呢?

  • 让用户一个个地输入,添加到words列表中

  • 从记事本文件一次性导入

这里需要用到列表的添加功能、while循环、文件操作,以后再介绍

2、计时更精细

现在的版本只显示了“每题用时”。还能显示什么?

  • 总用时:从第一题开始到最后一题结束的总时间

  • 平均每题用时:总用时 ÷ 总题数

  • 最快一题:记录用时最短的那一题

3、鼓励机制:

游戏结束后,根据成绩给出不同的反馈:

4、增加难度

每次答对后,单词长度逐渐增加。比如当前单词是 python(6个字母),答对了,下一个单词就变成更长的。

5、无限次测试,按q键退出

这里涉及到while循环,以后再介绍

6、给出中文意思,写英文单词

这里涉及到字典内容,以后再介绍

7、用可视化的方式呈现

如果想让界面更好看,可以:

  • 用 turtle 显示文字和进度条:每次答对,海龟往前走一段

  • 用 tkinter 做一个简单的窗口程序:按钮、文本框、标签

一个简单的打字练习小游戏,可以延伸出这么多方向。每一个方向背后,都是一个新知识。

编程就是这样——从一个小程序出发,像搭积木一样越搭越高,越来越完善。

现在有了AI的加持,让编程更加简便,更重要的是你的想法,以及如何表达自己的想法。

现在咱们最重要的是打下基础而牢固的编程基础,有了一定的基础,你与AI的对话会更加顺畅。

本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

觉得不错的话,伙伴们记得关注、在看、转发和点赞哈!

最新文章

随机文章