想知道孩子学习成果?我把儿子生词做了个表,随时抽查让他随机背单词!
是这样的,儿子刚开始学英语,想知道他的学习成果和进度怎么样?感觉直接拿书本抽查,比较枯燥。所以我突发奇想,用Python写了一个简单的猜单词小游戏。哈哈,我可能是个魔鬼~
思路是这样的:
1、 一个words列表里存放若干的单词,例如:
2、 在words列表里随机取出一个单词放进word列表,例如:
3、用一个tips列表存放提示信息,长度跟随机取出来的单词长度相同,而且初始化如下图:
4、一个列表放随机数,长度跟随机取出来的单词长度相同的,且不重复。
5、当用随机数列表里的前两个元素,用word列表里的元素替换提示信息列表的元素:
6、剩下就是游戏逻辑了,需要提示的时候,遍历下一个随机数列表,然后替换信息
我们可以先来看一下,程序运行会出现的结果:
1.猜对:
2.猜错:
现在看一下代码:
import random
#初始化信息↓↓↓↓↓↓↓
# 存放单词的列表
words = ["hello", "morning", "apple", "orange", "pink", "success","finish","breakfast","thank"]
#随机获取单词列表里的一个单词
word = list(words[random.randint(0, len(words) - 1)])
#随机数列表,存放着与单词长度一致的随机数(不重复)
ranList = random.sample(range(0, len(word)), len(word))
#存放提示信息
tips = list()
#初始化提示信息
#存放跟单词长度一致的下划线
for i in range(len(word)):
tips.append("_")
#随机提示两个字母
tips[ranList[0]] = word[ranList[0]]
tips[ranList[1]] = word[ranList[1]]
#函数部分↓↓↓↓↓
#展示菜单
def showMenu():
print("需要提示请输入'help?'")
print("结束游戏请输入'quit!'")
#显示提示信息
def showtips():
for i in tips:
print(i, end=" ")
print()
#需要提示
def needTips(tipsSize):
#至少有两个未知字母
if tipsSize <= len(word)-3:
tips[ranList[tipsSize]] = word[ranList[tipsSize]]
tipsSize += 1
return tipsSize
else:
print("已没有提示!")
#主要运行函数↓↓↓↓↓↓
def init():
print("------猜单词小游戏-------")
tipsSize = 2
showMenu()
while True:
print("提示:",end="")
showtips()
guessWord = input("猜一下这个单词:")
# <''.join(word)>把word列表的内容转换成字符串
if guessWord == ''.join(word):
print("恭喜你,猜对了!就是%s!"%(''.join(word)))
break
elif guessWord == 'help?':
tipsSize = needTips(tipsSize)
elif guessWord == 'quit!':
break
else:
print("猜错了!")
continue
init()
看到这里,是不是再也不用担心孩子学习不认真了,一个猜词游戏随时随地抽查单词。对付孩子,几行代码就搞定!
我跟儿子说,你看边玩游戏还可以边学习,你开不开心?
儿子勉强回答说:我开心。(其实并没有)
开不开心不重要,学习最重要!儿子现在去房间好好学习去了,心里可能在想:有个当程序员的妈太恐怖了,动不动就给写一个学习小游戏。面对我的操作,孩子流下了幸福的泪水~~~(我可能不是亲生的,哈哈!)
感谢每一位愿意读完我文章的人,对于新媒体创作我也是一个刚入门的,也在不断学习中。
创作是一件非常值得持续投入的事情,因为你们每一次的支持都是对我极大的肯定!
再次感谢大家的支持,在此我整理了一些适合大多数人学习的资料,免费给大家下载领取!
主要干货如下:
- Python标准库资料(最全中文版)
- 多个项目及源码(四五十个有趣且经典的练手项目及源码)
- 2000多本Python电子书(主流的经典的都包含在内)
- Python学习路线图(更系统、更高效的学习)
- Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
有需要的读者可以直接拿走,在我的QQ学习交流群(想要找到志同道合的伙伴也可以进群,记住哦仅限学习交流!!!),裙号是:298154825。