程序员

用Python写一个英语听力软件,妈妈再也不用担心我英语差了

2018-10-20  本文已影响16人  朵芊小粉丝

前言

最近我月考下来英语是依旧的差,为了能好好的把自己的分数提上去,打算开始背单词,高中学业繁忙同学都忙着学习,没人有时间给我报听写什么的,然后我突发奇想我能不能用电脑来给我报听写并且自动修改对错呢?于是我就写了这一个软件,本人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,小白如果有哪个地方看不懂的可以留言,笔者有时间的时候会进行回答

上一篇下一篇

猜你喜欢

热点阅读