-ESTE SITIO EXPONE INFORMACIÓN DE MANEJO PÚBLICO, POR LO QUE SE PIDE A QUIENES VISITEN EL BLOG Y DEJEN MENSAJES, HACERLO DENTRO DEL ORDEN Y RESPETO QUE NOS MERECEMOS, Y SEPAN QUE TODO COMENTARIO CONTRA LAS BUENAS COSTUMBRES SERAN MODERADOS, DESDE YA NUESTRO AGRADECIMIENTO A VUESTRA COMPRENSIÓN-
La directiva de APAL-LICEO-SAUCE UNO-

APAL LES DA LA BIENVENIDA A TODA LA FAMILIA DE LICEO DE SAUCE

APAL LES DA LA BIENVENIDA A TODA LA FAMILIA DE LICEO DE SAUCE
EQUIPO DE DIRECCIÓN DEL LICEO DE SAUCE UNO:
DIRECCIÓN - Prof. ALICE MAYER. (27-2-2013)
SUBDIRECCIÓN- Prof. ROSANNA CARBALLO.
Telfs.:22940545 - 22940018 - 22940258
Sta.Lucía y Sta.Isabel s/n - Sauce-Canelones-Uruguay.
E-mail: liceosauceuno@gmail.com
"¡ANIMATE, TE INVITAMOS A QUE NOS DEJES SUGERENCIAS!.., NECESITAMOS TUS APORTES E IDEAS, ERES PARTE DE LA FAMILIA EDUCATIVA!.... HAZLO EN EL FORMULARIO QUE TENEMOS EN ESTA PÁGINA..DEBAJO DEL CALENDARIO..MUCHAS GRACIAS!"

Bienvenida/o, eres el visitante Nº..

Programación en Python (por duarteeduardo021@gmail.com)

CAPÍTULO PRIMERO:
Preliminares: {"Estos apuntes están orientados a usuarios con un poco de conocimiento, por dudas,consultas y solicitar la carpeta completa con todos los archivos pronta para copiar, pedirlas por correo  duarteeduardo021@gmail.com, desde ya a sus órdenes!}
Debemos tener en cuenta: Cuando entramos en Terminal para ver que carpetas y archivos hay donde me encuentro escribo dir , para crear una carpeta mkdir Mis_videos y se crea la carpeta Mis_videos para entrar en ella cd Mis_videos dentro de ella copio archivos de videos del pendrive cp /media/LEXAR/videoUruguay.mpg  /home/olpc/Mis_videos/   (aquí estoy copiando el video a la carpeta Mis_videos que está en el directorio /home/olpc/Mis_videos/, asi con los archivos que deseo queden en la maquina y que no se borren cuando limpio el diario.
Para borrar las carpetas que hice rmdir  Mis_videos (si el directorio  está vacío, si está lleno y quiero borrarlo con todo lo que tiene rm -r Mis_videos ) , para borrar un archivo individual rm canción.mp3.
PROGRAMACIÓN  EN  LENGUAJE  PYTHON  PARA  XO:
1-      PARA  AQUELLOS  QUE  NUNCA  PROGRAMARON  ALGO (EN  LA  FORMA
      “HAGALO USTED MISMO”) EN LA XO,  APUNTAN  ESTOS  HUMILDES  CONSEJOS:
a.       La XO es una máquina que se comporta igual que el sistema operacional de disco
DOS de otros sistemas, trabajando en su ACTIVIDAD TERMINAL.
b.      Los programas(escrituras en código Python) son archivos con extensión (.py)
los cuales al final se auto-conectan entre si haciendo una llamado al siguiente archivo con extención.py regresando siempre al menú de origen del programa, ya veremos un ejemplo completo.
c.       Podemos crear una carpeta en bloc de notas de Windows o usando el editor que traer TERMINAL que se llama “nano”, tecleamos nano en TERMINAL y aparece un lindo editor(que debemos saber usar para poder escribir en él, el ESTUDIO es primordial si no estudiamos poco podremos hacer si queremos progresar!)
d.      La carpeta le llamaremos Mi_base, en ella crearemos una base de datos que tendrá una forma que la inventamos, pero puede tener los campos de datos que se le pueda ocurrir a cualquier persona, sólo falta INVENTIVA personal.
e.      Los archivos que pondremos serán:
menú.py   (donde se detallan las acciones a realizar)
entrada.py  (ingreso de datos a la base)
busca.py  (búsqueda de datos por apellidos, etc)
muestra.py  (muestreo en pantalla de lo que busco)

      modi.py (Las modificaciones que se pueden realizar en este ejemplo)
prueba.dbf  (es la base contenedora de datos)
ayudame.py   ayudame1.py ayudame2.py ayudame3.py  ayudame4.py ayudame5.py  ayudame6.py  ayudame7.py  ayudame8.py  ayudame9.py
ayudame10.py
  
otros.py  (son los archivos de ayudas varias, pueden varios)
f.        La base de datos (base.dbf) la vamos a crear manualmente o con SQLITE que es otro programa que se maneja en Windows. En la base van los campos que son donde en forma de columnas depositaremos los datos que queramos que vallan en nuestra base (Ej.: DNI, NOMBRES, APELLIDOS, DIRECCIONES ETC.)
NOTA: Todos los archivos con extensión .py deben estar en una misma carpeta, en este caso las guardé en la xo en (home/olpc/mi_base (donde mi_base es la carpeta con todos los archivos: para copiar desde el pendrive escribir en Terminal: cp -R /media/pendrive/mi_base /home/olpc/ y dar enter se copia la carpeta completa a la xo desde el pendrive(poner el nombre del pendrive que aparece en la xo))
g.       MANOS AL TRABAJO :(Se agregaron algunos archivos más, los explicaremos a medida que aparezcan ok!)
 Es menu.py (Es el más importante por  ser el director del programa)
#!/usr/bin/env python


# -*- coding: utf-8 -*-

import os


os.system("clear")


print
print
print "                       UTILIDAD EDR Ver.0.1.10"
print "               (De uso gratuito y libre modificacion) "
print "  (Unico pedido comunicar al autor aquellos cambios y/o errores a corregir)"
print "              - Gracias por utilizar este programa - "
print "                    duarteeduardo021@gmail.com)"
print "             -------------------------------------------"
print "             ESTA PANTALLA ES EL MENU DE LAS ACTIVIDADES "
print "             ------------------------------------------- "
print
print "                     1 - Ver datos "
print
print "                     2 - Ingresar datos "
print
print "                     3 - Buscar datos "
print
print "                     4 - Modificaciones "
print
print "                     5 - Ayudas "
print
print "                     0 - Sale de esta utilidad "
print
print

ver=raw_input("   INGRESE EL NUMERO DE LA OPCION QUE DESEE  => ")

if ver== str("1"):
    execfile("muestra.py")
if ver==str("2"):
    execfile("ingresa.py")
if ver==str("3"):
    execfile("busca.py")
if ver==str("4"):
    execfile("modi.py")   
if ver==str("5"):
    execfile("ayudame.py")
if ver==str("0"):
   raw_input(" Pulse una tecla y termina la utilidad -[> ")
   
   print "** GRACIAS POR USAR ESTA UTILIDAD duarteeduardo021@gmail.com ** "
if ver==str(""):
   quit     












ES ingresa.py


#!/usr/bin/env python


#-*- coding: utf-8 -*-


import os
os.system("clear")

import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print
print "              --------------------------------------------  "
print "                    INGRESO  DE  DATOS  AL  SISTEMA "
print "              --------------------------------------------  "
print
ingresa=raw_input("Ingresa realmente o quiere salir ? ")
if ingresa=="salir": raw_input("Pulse una tecla y sale") bbdd.close() execfile("menu.py")


else: print


print
bbdd.commit()

ci=raw_input   ("         Ingrese DNIC - > ")   
curso=raw_input("         Ingrese año que cursa - > ")
nom1=raw_input ("         Ingrese 1er.nombre -> ")
nom2=raw_input ("         Ingrese 2do.nombre -> ")           
ape1=raw_input ("         Ingrese 1er.apellido -> ")
ape2=raw_input ("         Ingrese 2do.apellido -> ")
dire=raw_input ("         Ingrese Domicilio - > ")
cel=raw_input  ("         Ingrese Celular(si posee) - > ")
tel=raw_input  ("         Ingrese Telefono fijo(obligatorio) - > ")               


personas=[ci, curso, nom1, nom2, ape1, ape2, dire, cel, tel]
cursor.execute("insert into alumnos (aci, aclase, anombres1, anombres2, apellidos1, apellidos2, direccion, tcel, telefono) values  ( ?, ?, ?, ?, ?, ?, ?, ?, ?)", personas)
bbdd.commit()

cursor.close()
print
print

raw_input("             Pulse enter regreso al menu")
execfile("menu.py")












Es modi.py (Aqui están las modificaciones a los datos de los campos de la base)





#!/usr/bin/env python


#-*- coding: utf-8 -*-
import os
os.system("clear")


import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print "       Menu de Correcciones de datos de la base      "
print "---------------------------------------------------  "
print
print " Listado de Datos para ver que se corrige "
print
print
bbdd.commit()

cursor.execute("select * from alumnos order by aci")
for tupla in cursor:
    print tupla
print
print " 1 - Cambio de DNI "
print " 2 - Cambio de 1er.NOMBRE "
print " 3 - Cambio de 2do.NOMBRE"
print " 4 - Cambio de 1er.APELLIDO"
print " 5 - Cambio de 2do.APELLIDO"
print " 6 - Cambio de Domicilio"
print " 7 - Cambio de Celular"
print " 8 - Cambio de Telefono fijo"
print " 9 - Cambio de Año que cursa"
print "10 - Borra registros "
print
print "     escriba -salir- y regresa al menu - Gracias "
print "******************************************************"
print
ver=raw_input("Ingrese el num de la opcion que cambia -> ")
if ver==str("1"):
    execfile("ci.py")
if ver==str("2"):
    execfile("1ernombre.py")
if ver==str("3"):
    execfile("2donombre.py")
if ver==str("4"):
    execfile("1erapellido.py")   
if ver==str("5"):
    execfile("2doapellido.py")
if ver==str("6"):
    execfile("domicilio.py")
if ver==str("7"):
    execfile("celular.py")
if ver==str("8"):
    execfile("telfijo.py")
if ver==str("9"):
    execfile("curso.py")
if ver==str("10"):
    execfile("borrado.py")
           
if ver==str("0"):
    op=raw_input(" escriba -salir- y termina la utilidad -[> ")
    if op=="salir":
        print
        print "********* GRACIAS POR USAR ESTA UTILIDAD ****"
        quit
    else:
        execfile("menu.py")
else:
   
    execfile("menu.py")




Este es muestra.py (Aquí vemos lo que tiene la base de datos ingresado)

#!/usr/bin/env python


#-*- coding: utf-8 -*-


import os


os.system("clear")

import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print "                 Base de datos de la clase del liceo "
print "               ---------------------------------------  "
print
print
print "                     1 - Muestreo de Datos "
print "                     **********************"
print
print "C.identidad  - Nombre1   Nombre 2 -  Apellido1  Apellido2  Direccion   Tel     Cel  "
print "------------------------------------------------------------------------------------"


  
bbdd.commit()

cursor.execute("""select * from alumnos order by apellidos1""")



for tupla in cursor.fetchall():
    print tupla
print
print

PULSE=raw_input (" PULSE UNA TECLA Y RETORNO AL MENU ")
execfile("menu.py")




Este es busca.py (El buscador de datos dentro de la base)



#!/usr/bin/env python


#-*- coding: utf-8 -*-


import os


os.system("clear")

import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print "             BASE DE DATOS DE LA CLASE DEL LICEO "
print "           ---------------------------------------  "

print "           Menu de busqueda de datos para corregir "
print "           ***************************************"
print
print "           1 - Busca por apellidos "
print
print "           2 - Busca por nombres "
print
print "           3 - Busca por DNIC "
print
print "           4 - Por Curso "
print
bbdd.commit()
opcion=raw_input( " Elija una opcion de busqueda ! - > ")
if opcion==str(1):
                 
        ape=raw_input(" Que apellido busca ? ")
        cursor.execute("""select * from alumnos where apellidos1=? """, (ape, ))

        print "  DNIC   -  CLASE -  1er.NOMBRE   2do.NOMBRE   1er.APELLIDO  2do.APELLIDO   DIRECCION            CELULAR      TEL.FIJO  "
        print "--------------------------------------------------------------------------------------------------------------------------"
        for tupla in cursor.fetchall():
                      print tupla
     
     
if opcion==str(2):
        nom=raw_input(" Que nombre busca ? ")       
        cursor.execute("""select * from alumnos where anombres1=? """, (nom, ))

        print "  DNIC   -   CLASE - 1er.NOMBRE    2do.NOMBRE   1er.APELLIDO  2do.APELLIDO   DIRECCION            CELULAR      TEL.FIJO  "
        print "--------------------------------------------------------------------------------------------------------------------------"
        for tupla in cursor.fetchall():
                      print tupla

if opcion==str(3):
        ci=raw_input(" Que DNIC busca ? ")       
        cursor.execute("""select * from alumnos where aci=? """, (ci, ))

        print "  DNIC   -  CLASE -  1er.NOMBRE   2do.NOMBRE   1er.APELLIDO  2do.APELLIDOS   DIRECCION            CELULAR      TEL.FIJO  "
        print "--------------------------------------------------------------------------------------------------------------------------"
        for tupla in cursor.fetchall():
                      print tupla
     
if opcion==str(4):
        ci=raw_input(" Que Curso busca ? ")       
        cursor.execute("""select * from alumnos where aclase=? """, (ci, ))

        print "  DNIC   -  CLASE -  1er.NOMBRE   2do.NOMBRE   1er.APELLIDO  2do.APELLIDOS   DIRECCION            CELULAR      TEL.FIJO  "
        print "--------------------------------------------------------------------------------------------------------------------------"
        for tupla in cursor.fetchall():
                      print tupla       


raw_input (" PULSE S Y RETORNO AL MENU ")

execfile("menu.py")




Este es borrado.py (Permite borrar un registro o registros completos)   





#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os
os.system("clear")


import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print
print "              --------------------------------------------  "
print "                 BORRADO DE REGISTROS DE ALUMNO  "
print "              --------------------------------------------  "

print
print
bbdd.commit()

ci=raw_input("Ingrese DNI para localizar - > ")
mira=[ci]
cursor.execute("select * from alumnos where aci=(?)",mira)
for tupla in cursor:
    print tupla
print   
ciN=raw_input("Ingrese NUM.DNI a BORRAR -> ")
print " Ingresa este 1er.Apellido -> ",ciN
cambia=[ciN]

cursor.execute("delete from  alumnos where aci=(?) ; ",cambia)

print " se ha borrado lo pedido "
bbdd.commit()   
cursor.execute("select * from alumnos order by aci")
for tupla in cursor:
    print tupla
bbdd.close()














Este es ci.py (Ingreso del DNI (Cédula de Identidad)












import sqlite3 as dbapi
bbdd = dbapi.connect("prueba.dbf")
cursor = bbdd.cursor()
print
print "              --------------------------------------------  "
print "                 MODIFICO DNI DE ALUMNOS  "
print "              --------------------------------------------  "

print
print
bbdd.commit()

ci=raw_input("Ingrese la DNIC vieja a cambiar - > ")
mira=[ci]
cursor.execute("select * from alumnos where aci=(?)",mira)
for tupla in cursor:
        print tupla
              


        
ciN=raw_input("Ingrese la DNIC nueva -> ")
print " Sale este DNI -> ",ci," Ingresa este DNI -> ",ciN
cambia=[ciN,ci]

cursor.execute("update alumnos set aci=(?) where aci=(?) ; ",cambia)

print " se ha modificado lo pedido "
bbdd.commit()    
cursor.execute("select * from alumnos order by aci")
for tupla in cursor:
    print tupla
bbdd.close()
print " PULSE UNA TECLA Y REGRESO AL MENU "
raw_input()
execfile("modi.py") 
........
Continuará