[PYTHON] Englisches Wortbuchprogramm, das mit Google-Dokumenten verknüpft ist

Einführung

Freut mich, dich kennenzulernen. Ich heiße kkatus03. Ich denke, es gibt einige Orte, die nicht erreichbar sind, aber danke.

Programmübersicht

Der Umriss ist wie folgt.

--Erstellen Sie im Voraus ein englisches Wortbuch in Google-Dokumenten

Dieses Mal habe ich beschlossen, ein solches Programm zu machen

Ich habe TOEIC studiert. Natürlich widmete ich mich auch dem Lernen englischer Wörter, also kaufte ich Notizen für Wörter und lernte. Da ich jedoch mehr Möglichkeiten hatte, PCs an der Universität zu benutzen, litt ich unter etwas Stress, den ich in der High School nicht fühlte.

――Frustriert, um Briefe von Hand zu schreiben ――Ihr Gepäck nimmt zu. ・ Wenn Sie Ihr Notebook zu Hause vergessen, können Sie nicht lernen

Allmählich spürte ich die Ineffizienz von Papiermedien und dachte: "Ist es möglich, sie mithilfe der Cloud wie Google-Dokumenten zu verwalten?" Wenn dies möglich ist, können überall und auf jedem Gerät stressfrei englische Wörter hinzugefügt werden (auch von einem Smartphone aus, wenn Sie eine spezielle Tastatur verwenden).

Außerdem habe ich mich gefragt, ob es möglich ist, zufällig Fragen in einem Quizformat zu stellen. weil

――Wenn die Wörter in Ordnung sind, sind die Wörter, an die man sich leicht erinnert, voreingenommen. ――Ich erinnere mich, dass ich Wörter verbunden habe, die auf derselben Seite geschrieben wurden

Weil.

Auf Englisch muss das eigentliche Objekt an die Oberfläche kommen, sobald Sie das englische Wort sehen. Zum Beispiel

  1. Siehe das Wort "Apfel"
  2. Schweben Sie das eigentliche Bild

687474703a2f2f6b6964732e77616e7075672e636f6d2f696c6c7573743531385f7468756d622e676966.gif

Wir müssen dies mit jedem Wort tun können. Um dies zu meistern, hielt ich es für das Beste, täglich mit der "Funktion, Wörter zufällig und in einem Quizformat zu fragen" zu üben.

Verwendung (Wordbook-Vorbereitung)

  1. Erstellen Sie ein Dokument in Google Drive (unabhängig vom Namen). ①.PNG

  2. Machen Sie in den Freigabeeinstellungen des erstellten Dokuments "Für alle verfügbar, die den Link kennen". ②.PNG

  3. Schreiben Sie die Wortdaten im CSV-Format in das erstellte Dokument. ④.PNG

Und so weiter "Englische Wörter" "Komma halber Breite" "Japanische Übersetzung" Es ist in Ordnung, wenn Sie im Format schreiben. 4. Fügen Sie den Dokumentlink in das Feld in der zweiten Codezeile ein ③.PNG

Verwendung (ausführen)

  1. Wenn Sie es ausführen, wird Ihnen eine Frage gestellt ⑤.PNG
  2. Denken Sie an die Antwort in Ihrem Kopf und drücken Sie die Eingabetaste, um die Antwort auf die aktuelle und die nächste Frage zu erhalten ⑥.PNG
  3. Wiederholen Sie diesen Vorgang bis zum Ende und die Meldung "gut gespielt !!" wird angezeigt. ⑦.PNG

Natürlich sollten Sie beim nächsten Start in einer anderen Reihenfolge als beim letzten Mal gefragt werden!

Erklärung der Programme und Funktionen

Um das Programm kurz zu erklären,

Es ist wie es ist.

Die folgenden drei sind die Hauptfunktionen, die erstellt wurden.

--DLwordnote Funktion

DLwordnote.png [Argument] URL von Google Document Wordbook [Rückgabewert] Eine Zeichenfolge, die durch Extrahieren nur von Wortdaten aus der HTML-Datei des Wortbuchs erhalten wird. Da die Extraktionsmethode grob ist, wird sie weggelassen.

--Make_Data Funktion

Make_Data.png [Argument] Von DLwordnote extrahierte Wortdaten [Rückgabewert] Ein Array, in dem Wortdaten gespeichert werden Verwenden Sie das CSV-Modul, um es in einem zweidimensionalen Array zu speichern.

Quiz.png [Argument] Ein Array, das von Make_Data erstellte Wortdaten speichert [Rückgabewert] Keine Verwenden Sie das Zufallsmodul, um Fragen in keiner bestimmten Reihenfolge zu stellen.

Implementierung mit Python

Angenommen, Python 3. ○. Da der Zweck darin bestand, die Funktion zu realisieren, habe ich sie mit wenig Wissen erstellt.

word_practice.py


def main():
    Quiz(Make_Data(DLwordnote('Angegebene URL')))
    
    
    print("well played!!")
    

import urllib.request as req

def DLwordnote(url):
    response = req.urlopen(url)        #Öffnen Sie die HTML-Datei, indem Sie die URL angeben
    html_data=(str(response.read(),'utf-8_sig'))#html_Fügen Sie alle HTML-Dateien in eine Variable namens data ein
    response.close()
    #print(html_data)

    word_data=''#Erstellen Sie hier Nur-Wort-Daten

    startwords='DOCS_modelChunk = [{"ty":"is","ibi":'#In HTML beginnen Wortdaten mit diesem Satz(Sollte sein)

    while(html_data.find(startwords)!=-1):
        startpoint = html_data.find(startwords)+len(startwords)#Welcher Charakter ist der Ausgangspunkt
        html_data=extract(html_data,startpoint,len(html_data))#Schnitt zum Anfang der Wortdaten

        i=0#,"s":"Welche Zahl zählt ab
        while True:#"Bis du findest
            if (html_data[html_data.find(',"s":"')+len(',"s":"')+i]=='"'):#"Wenn gefunden, Schleife aus
                break
            word_data+=str(html_data[html_data.find(',"s":"')+len(',"s":"')+i])#Das vorherige HTML_Wort aus Daten extrahiert_Weisen Sie einer Variablen namens data zu
            #Mit diesem,\n wird nicht als Zeilenvorschubcode erkannt
            i+=1

    dammy="\\"+"n"#Kein Zeilenvorschubcode\n
    #print(word_data.replace(dammy,"\n"))
    return (word_data.replace(dammy,"\n"))#Gibt die gelesene CSV-Zeichenfolge zurück

import random
import csv

def Make_Data(csv_data):#Lesen Sie die CSV-Zeichenfolge aus der Datei
#Ich habe versucht, so wenig Sequenzen wie möglich zu verwenden
    list_data=csv_data.split("\n")#Die CSV-Zeichenfolge wird basierend auf dem aufgelisteten Zeilenumbruch als Listenelement getrennt._Daten zuweisen
    list_data=[n for n in list_data if (n!='\n') and (n!='') and (n!=' ')]#Arbeiten Sie daran, ungültige Werte zu entfernen
    for i in range(len(list_data)):#list_Trennen Sie Daten anhand von Kommas in Elemente innerhalb jedes Elements
        list_data[i]=list_data[i].split(",")
    
    #print(list_data)
    return list_data#Liste mit CSV-Liste_Gibt Daten zurück

def Quiz(list_data):
    #Erstellen Sie eine Liste mit dem Namen check, um festzustellen, ob jede Frage gestellt wurde(below),0:undo,1:done
    check=[0]*len(list_data)#Erstellen Sie vorerst eine Liste mit allen 0 Elementen mit der gleichen Länge wie die Daten
    total=0#Notieren Sie sich, wie viele Fragen gestellt wurden

    while True:#Schleife
        num=random.randint(0,len(list_data)-1)#Ersetzen Sie die Problemnummer durch num (zufällig)
        if(check[num]==0):#Wenn es noch nicht gefragt wurde
            print("[%d/%d]" % (total+1,len(list_data)))#Bildschirmausgabe und Fragen
            #press enter key
            input("%s" % (list_data[num][0]))
            print("%s\n" % (list_data[num][1]))#Bildschirmausgabe und Fragen

            check[num]=1#Machen Sie sich wie bereits erwähnt eine Notiz
            total+=1#Ich zähle hoch
            
        
        if(total==len(list_data)):#Wenn alle Fragen gestellt werden
            break#Unloop

def extract(data,a,b):#Zeichenkettendaten a,Extrahieren Sie bis zu b
    tmp=''
    for i in range(a,b):
        tmp+=data[i]
    return tmp

if __name__=="__main__":
    main()

Zusammenfassung

In diesem Programm

--Erstellen Sie im Voraus ein englisches Wortbuch in Google-Dokumenten

Realisierte die Funktion. Es ist ein grober Code, aber ich habe dieses Programm jeden Tag auf dem Weg zur Schule gemacht und meine TOEIC-Punktzahl von 400 Punkten auf die zweite Hälfte von 600 Punkten erhöht.

Als zukünftige Ausgabe

--Studieren Sie HTML und stellen Sie fest, dass Wortdaten sauber extrahiert werden ――Ich möchte die Front-End-Seite studieren und sie tatsächlich als App veröffentlichen

Das kann erwähnt werden.

Ich werde wieder posten, wenn ich es verbessern kann!

Bonus: Wie man auf dem iPhone läuft

  1. Bitte installieren Sie die App "Mobile C" IMG_1691.PNG
  2. Erstellen Sie eine Datei in einem geeigneten Ordner und fügen Sie den obigen Code ein IMG_1692.PNG IMG_1694.PNG
  3. Laufen Sie mit "Run" und drücken Sie die gebogene Pfeiltaste unten rechts, um fortzufahren. IMG_1693.PNG

Recommended Posts

Englisches Wortbuchprogramm, das mit Google-Dokumenten verknüpft ist
Erstellen Sie eine englische Wort-App mit Python
[Das stärkste englische Wortbuch Bakusei ww] Generieren Sie automatisch ein englisches Wortbuch, das von Ingenieuren mit Python-Teil 1 benötigt wird
Einfache Buchregistrierung mit Google Books API und Rails
Eine Geschichte, die mit ein wenig Einfallsreichtum mit Google Cloud Storage verknüpft ist