前言
最近我月考下來英語是依舊的差,為了能好好的把自己的分?jǐn)?shù)提上去,打算開始背單詞,高中學(xué)業(yè)繁忙同學(xué)都忙著學(xué)習(xí),沒人有時(shí)間給我報(bào)聽寫什么的,然后我突發(fā)奇想我能不能用電腦來給我報(bào)聽寫并且自動(dòng)修改對(duì)錯(cuò)呢?于是我就寫了這一個(gè)軟件,本人python小白可能程序?qū)懙姆浅€,所以看看就行了,廢話不多說上代碼!!!
代碼
import random
import os
ture_word = []
false_word = []
word = []
def random_english(length,word):
????while length != 0:
????????number = random.randint(1,length)
????????# print(number)
????????number = number*2-1
????????print(word[number])
????????input_word = input()
????????# print(word)
????????os.system('cls')
????????if input_word == word[number-1]:
????????????ture_word.append(input_word + ' ' + word[number])
????????????# print(number-1,number+1)
????????????del word[number-1:number+1]
????????????# print(word)
????????else:
????????????false_word.append(input_word + ' ' + word[number])
????????????# print(number-1,number+1)
????????????del word[number-1:number+1]
????????????# print(word)
????????# print(false_word)
????????length-=1
for line in open("./tmp/english.txt","r",encoding = 'utf-8'):
????# print(line)
????lines_english = ' '.join(line.split(' ',)[0:-1])
????lines_chinese = ''.join(line.split(' ',)[-1])
????word.append(lines_english)
????word.append(lines_chinese.replace("\n",""))
# print(word)
length = len(word)/2 #計(jì)算單詞總數(shù)
random_english(length,word)
print('======錯(cuò)誤的單詞======')
for i in false_word:
? ? print(i)
print('======正確的單詞=======')
for i in ture_word:
????print(i)
input()
簡單的代碼介紹
我的思路大概是這樣子的,首先我們把我們需要的單詞保存在一個(gè)txt文檔里,我們用python程序去遍歷文檔,將文檔里的單詞和中文保存在列表里,接著我們用分片將單詞和中文分開來保存起來,然后調(diào)用隨機(jī)數(shù)去抽取單詞并打印出來,等待用戶輸入文字,輸入后將輸入的單詞和列表里的正確單詞進(jìn)行比較,將對(duì)錯(cuò)的單詞分別放在兩個(gè)列表里,這個(gè)抽取單詞到單詞對(duì)錯(cuò)比較這個(gè)部分我們用一個(gè)while循環(huán)循環(huán)單詞重?cái)?shù)量次,等循環(huán)結(jié)束以后我們將對(duì)錯(cuò)的單詞分別打印出來,供我們參考然后繼續(xù)進(jìn)行背誦.代碼里有非常多注釋的print那是我用來調(diào)試用的,如果讀者們想更美觀點(diǎn)可以刪去,過一段時(shí)間我可能會(huì)升級(jí)成一個(gè)支持語音播放以及有UI界面的,所以在這里我就不刪除了(其實(shí)就是懶)
最后
Python大佬們看看就行了,筆者才高一大佬們別噴TAT,小白如果有哪個(gè)地方看不懂的可以留言,筆者有時(shí)間的時(shí)候會(huì)進(jìn)行回答