Muchas gracias por los consejos.

Por cierto he instalado Anki.  Me ha sorprendido lo bien que está.

Efectivamente he realizado el programa para aprender Python y de paso dotarme de una utilidad para memorizar vocabulario ingles.

Dejo el código que he creado para que hagais las mejoras que veais oportunas y así pueda aprender más:
------------
# -*- coding: utf-8 -*-

import random
import os.path

class Diccionario():
    def __init__(self, nfich="diccionario.txt"):
        self.dic=[]
        self.nfich=nfich
        self.abre()
       
    def guardar(self):
        f=open(self.nfich,"w")
        for l in self.dic:
            f.write(l)
            f.write("\n")
        f.close()

    def abre(self):
        if os.path.exists(self.nfich):
            f=open(self.nfich,"r")
            for l in f:
                self.dic.append(l[:-1])
            f.close()   
            print "Abierto con %s registros" % len(self.dic)
        else:
            print "No existe el fichero."

    def agregar(self):
        while True:
            print "--- Agregar Palabra - 0: Salir ---"
            c=raw_input("Ingles.: ")
            if c=="0": break
            v=raw_input("Español: ")
            if v=="0": break
            self.dic.append(c+";"+v)
       
    def vertodo(self):
        for l in self.dic:
            c,v = l.split(";")
            print "Ing/Esp: ",c," - ",v
   
    def aleatorio(self):
        p=0
        n= len(self.dic)
        while True:
            print "0: Salir. Puntos: ",p       
            l= self.dic[random.randint(0,n-1)]
            i,e = l.split(";")
            print " Ing: ",i,
            ee = raw_input(" Esp.: ")
            if ee=="0":
                break
            if ee==e:
                p +=1
                print "Correcto es ",e," Escribió: ",ee
            else:
                print "Error es ",e," Escribió: ",ee

    def busca(self):
        g=raw_input("Palabra a buscar: ")
        print "....................."
        for l in self.dic:
            if l.lower().find(g.lower())>=0:
                print l
        print "....................."   

def menu():
    print """
1- Agregar.
2- Ver Todo.
3- Preguntas aleatorias.
4- Buscar.
8- Guardar.
9- Abrir.
0- *Salir*"""
    v=raw_input("Opción: ")
    return v

def main():
   
    di = Diccionario("dicionario.txt")
    op=""
    #fmenu={"1":agregar(),"2":guardar(nfich),"3":abre(nfich)}
   
    while True:
        op=menu()
        if op=="1":
            di.agregar()
        elif op=="2":
            di.vertodo()
        elif op=="3":
            di.aleatorio()
        elif op=="4":
            di.busca()
        elif op=="8":
            di.guardar()
        elif op=="9":
            di.abre()
        elif op=="0":
            break
main()
------------



El 13/10/2012 13:49, Daπid escribió:
Añado: si con esto quieres aprender Python, estupendo, es un proyecto
divertido. Pero para aprender un idioma, hay métodos más optimizados.
Aquí dos ejemplos gratuitos, escritos en Python, además:

http://en.wikipedia.org/wiki/Anki
http://en.wikipedia.org/wiki/Mnemosyne_(software)

Quizá, con tiempo, puedas implementar el algoritmo en tu programa. Yo
he pensado en adaptarme estos para teatro.



  



_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a