用Python寫一個英語聽力軟體,媽媽再也不用擔心我英語差了
前言
最近我月考下來英語是依舊的差,為了能好好的把自己的分數提上去,打算開始背單詞,高中學業繁忙同學都忙著學習,沒人有時間給我報聽寫什麼的,然後我突發奇想我能不能用電腦來給我報聽寫並且自動修改對錯呢?於是我就寫了這一個軟體,本人python小白可能程式寫的非常爛,所以看看就行了,廢話不多說上程式碼!!!
程式碼
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 #計算單詞總數
random_english(length,word)
print('======錯誤的單詞======')
for i in false_word:
print(i)
print('======正確的單詞=======')
for i in ture_word:
print(i)
input()
簡單的程式碼介紹
我的思路大概是這樣子的,首先我們把我們需要的單詞儲存在一個txt文件裡,我們用python程式去遍歷文件,將文件裡的單詞和中文儲存在列表裡,接著我們用分片將單詞和中文分開來儲存起來,然後呼叫隨機數去抽取單詞並打印出來,等待使用者輸入文字,輸入後將輸入的單詞和列表裡的正確單詞進行比較,將對錯的單詞分別放在兩個列表裡,這個抽取單詞到單詞對錯比較這個部分我們用一個while迴圈迴圈單詞重數量次,等迴圈結束以後我們將對錯的單詞分別打印出來,供我們參考然後繼續進行背誦.程式碼裡有非常多註釋的print那是我用來除錯用的,如果讀者們想更美觀點可以刪去,過一段時間我可能會升級成一個支援語音播放以及有UI介面的,所以在這裡我就不刪除了(其實就是懶)
最後
Python大佬們看看就行了,筆者才高一大佬們別噴TAT,小白如果有哪個地方看不懂的可以留言,筆者有時間的時候會進行回答