想知道孩子學習成果?我把兒子生詞做了個表,隨時抽查讓他隨機背單詞!
是這樣的,兒子剛開始學英語,想知道他的學習成果和進度怎麼樣?感覺直接拿書本抽查,比較枯燥。所以我突發奇想,用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。