用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,小白如果有哪个地方看不懂的可以留言,笔者有时间的时候会进行回答