Ravi de vous rencontrer. Mon nom est kkatus03. Je pense qu'il y a des endroits inaccessibles, mais merci.
Le plan est comme suit.
J'étudiais TOEIC. Bien sûr, je me consacrais également à l'étude des mots anglais, alors j'ai acheté des notes pour les mots et j'ai étudié. Cependant, comme j'avais plus d'occasions d'utiliser des PC à l'université, j'ai souffert d'un stress que je ne ressentais pas au lycée.
――Frustré d'écrire des lettres à la main ―― Vos bagages augmenteront ・ Si vous oubliez votre cahier à la maison, vous ne pourrez pas étudier
J'ai progressivement ressenti l'inefficacité des supports papier, et j'ai pensé: "Est-il possible de le gérer en utilisant le cloud comme les documents Google?" Si cela peut être réalisé, il sera possible d'ajouter des mots anglais sans stress n'importe où et sur n'importe quel appareil (même depuis un smartphone, si vous utilisez un clavier dédié).
De plus, je me suis demandé s'il serait possible de poser des questions dans un format quiz au hasard. Parce que
――Si les mots sont dans l'ordre, les mots faciles à retenir seront biaisés. ――Je me souviens avoir connecté des mots écrits sur la même page
Parce que.
En anglais, l'objet réel doit remonter à la surface au moment où vous voyez le mot anglais. Par exemple
Nous devons pouvoir le faire avec chaque mot. Pour maîtriser cela, j'ai senti qu'il valait mieux pratiquer au quotidien avec la «fonction de poser des mots au hasard et sous forme de quiz».
Créez un document sur Google Drive (quel qu'en soit le nom)
Rendez "Disponible à tous ceux qui connaissent le lien" dans les paramètres de partage du document créé.
Écrivez les données de mot au format csv dans le document créé.
Etc "Mots anglais" "Virgule demi-largeur" "Traduction japonaise" Ce n'est pas grave si vous écrivez dans le format. 4. Collez le lien du document dans l'espace prévu sur la deuxième ligne de code ci-dessous
Bien sûr, la prochaine fois que vous l'exécuterez, vous devriez être invité dans un ordre différent de la dernière fois!
Pour expliquer brièvement le programme,
C'est comme ça.
Les trois fonctions suivantes sont les principales fonctions créées.
--Fonction DLwordnote
[Argument] URL de Google Document Wordbook [Valeur de retour] Une chaîne de caractères obtenue en extrayant uniquement les données de mots du fichier html du livre de mots. La méthode d'extraction étant approximative, elle est omise.
--Fonction Make_Data
[Argument] Données Word extraites par DLwordnote [Valeur de retour] Un tableau qui stocke des données de mot Utilisez le module csv pour stocker dans un tableau à deux dimensions.
--Fonction Quiz
[Argument] Un tableau qui stocke les données de mot créées par Make_Data [Valeur de retour] Aucun Utilisez le module aléatoire pour poser des questions sans ordre particulier.
En supposant Python 3. ○. Puisque le but était de réaliser la fonction, je l'ai faite avec peu de connaissances.
word_practice.py
def main():
Quiz(Make_Data(DLwordnote('URL spécifiée')))
print("well played!!")
import urllib.request as req
def DLwordnote(url):
response = req.urlopen(url) #Ouvrez le fichier HTML en spécifiant l'URL
html_data=(str(response.read(),'utf-8_sig'))#html_Mettez tout le HTML dans une variable appelée data
response.close()
#print(html_data)
word_data=''#Créez ici des données de mots uniquement
startwords='DOCS_modelChunk = [{"ty":"is","ibi":'#En html, les données de mots commencent par cette phrase(Devrait être)
while(html_data.find(startwords)!=-1):
startpoint = html_data.find(startwords)+len(startwords)#Quel personnage est le point de départ
html_data=extract(html_data,startpoint,len(html_data))#Couper au début des données de mot
i=0#,"s":"De quel nombre compte
while True:#"Jusqu'à ce que tu trouves
if (html_data[html_data.find(',"s":"')+len(',"s":"')+i]=='"'):#"Si est trouvé, bouclez
break
word_data+=str(html_data[html_data.find(',"s":"')+len(',"s":"')+i])#Le HTML précédent_mot extrait des données_Affecter à une variable appelée data
#Avec ça,\n n'est pas reconnu comme un code de saut de ligne
i+=1
dammy="\\"+"n"#Pas un code de saut de ligne\n
#print(word_data.replace(dammy,"\n"))
return (word_data.replace(dammy,"\n"))#Renvoie la chaîne csv lue
import random
import csv
def Make_Data(csv_data):#Lire la chaîne csv à partir du fichier
#J'ai essayé d'utiliser le moins de séquences possible
list_data=csv_data.split("\n")#La chaîne de caractères csv est séparée comme un élément de liste basé sur le saut de ligne, qui est répertorié._Attribuer aux données
list_data=[n for n in list_data if (n!='\n') and (n!='') and (n!=' ')]#Travailler pour supprimer les valeurs invalides
for i in range(len(list_data)):#list_Séparez les données en éléments dans chaque élément en fonction de virgules
list_data[i]=list_data[i].split(",")
#print(list_data)
return list_data#Liste contenant la liste csv_Renvoie des données
def Quiz(list_data):
#Créez une liste appelée check pour noter si chaque question a été posée(below),0:undo,1:done
check=[0]*len(list_data)#Pour le moment, faites une liste avec tous les 0 éléments avec la même longueur que les données
total=0#Notez le nombre de questions posées
while True:#boucle
num=random.randint(0,len(list_data)-1)#Remplacez le numéro du problème par num (aléatoire)
if(check[num]==0):#Si cela n'a pas encore été demandé
print("[%d/%d]" % (total+1,len(list_data)))#Sortie d'écran et questions
#press enter key
input("%s" % (list_data[num][0]))
print("%s\n" % (list_data[num][1]))#Sortie d'écran et questions
check[num]=1#Faites une note comme déjà mentionné
total+=1#1 compte à rebours
if(total==len(list_data)):#Si toutes les questions sont posées
break#Déverrouiller
def extract(data,a,b):#Données de chaîne de caractères a,Extraire jusqu'à b
tmp=''
for i in range(a,b):
tmp+=data[i]
return tmp
if __name__=="__main__":
main()
Dans ce programme
Réalisé la fonction. C'est un code approximatif, mais j'ai suivi ce programme tous les jours en me rendant à l'école et j'ai augmenté mon score TOEIC de 400 points à la seconde moitié de 600 points.
En tant que futur numéro
Cela peut être mentionné.
Je posterai à nouveau si je peux l'améliorer!
Recommended Posts