domingo, 30 de septiembre de 2018

Poligono






from Tkinter import *


def poligono(ventana):
    panel = Canvas(width=400, height=400, bg="black")
    panel.pack()
    panel.create_polygon(150,75,200,25,200,250,250,250,250,275,225,275,

                         225,300,200,300, 200,375,150,375,150,300,125,300,

                         125,275,100,275,100,250,150,250,150,75,
                         width=9, fill="blue", outline="orange")


ventana = Tk()
ventana.title("Poligono")
ventana.config(bg="gray")
ventana.geometry("600x600")
boton = Button(ventana, text="Crear Poligono", command=lambda: poligono(ventana))
boton.pack()
ventana.mainloop(

martes, 11 de septiembre de 2018

linea




rectángulo







circulo  

ovalo 
poligono 








principales funciones del turtle


Las funciones principales para animar nuestro objeto son las siguientes:

forward(distance): Avanzar una determinada cantidad de píxeles.
backward(distance): Retroceder una determinada cantidad de píxeles.
left(angle): Girar hacia la izquierda un determinado ángulo.
right(angle): Girar hacia la derecha un determinado ángulo.

Por otro lado, puede que en ocasiones queramos desplazarnos de un punto a otro sin dejar rastro. Para ello utilizaremos las siguientes funciones:

home(distance): Desplazarse al origen de coordenadas.
goto((x, y)): Desplazarse a una coordenada en concreto.
pendown(): Subir el lápiz para no mostrar el rastro.
penup(): Bajar el lápiz para mostrar el rastro.

Por último, puede que queramos cambiar el color o tamaño del lápiz. En ese caso utilizaremos las siguientes funciones gráficas:

shape('turtle'): Cambia al objeto tortuga.
pencolor(color): Cambiar al color especificado.
pensize(dimension): Tamaño de la punta del lápiz.

instalar notepad++ y correr turtle

Entramos a la pagina para descargar la aplicacion https://notepad-plus-plus.org/download/v7.5.8.html

Damos clic en download

ejecutamos el instalador 






Principales funciones de Tkinter

delete(INICIO, FIN)
Elimina uno o mas elementos del campo de texto, este método recibe dos argumentos uno es el inicio desde donde se desea eliminar el contenido y el segundo argumento es hasta donde deseamos eliminar, al igual que en Python debemos comenzar el índice contando desde 0.

get()
Obtiene el contenido del campo de texto. Algo muy necesario para nosotros es poder obtener el texto contenido dentro del campo de texto, para conseguir esto podemos hacernos del método 'get' que nos lo permitirá, este nos retornara el texto como una cadena.

icursor(INDICE)
Nos permite mover el cursor hasta la posición indicada, cuando vimos acerca de los índices vimos a INSERT y mencionamos a 'icursor'. Este método nos permite cambiar a donde deseamos que cambie la posición del cursor y junto a INSERT podemos llevar nuestra aplicación a otro nivel de interacción con el usuario.

insert(INDICE, CADENA)
Permite la inserción de texto. Supongamos que necesitamos insertar una cadena, un numero o un carácter en un campo de texto, para conseguirlo es tan simple como llamar a este método pasándole dos argumentos como parámetros. De los dos argumentos mencionados uno es el índice de donde deseamos insertar el texto y el segundo es la cadena o caracter.

miércoles, 5 de septiembre de 2018

Pip e instalación

¿Que es PIP para Python?

como todos los lenguajes de programación aceptan  librerías externas python no es la  excepción  , pero instalar y administrar estas librerías a mano puede ser difícil así que para hacerlo mas practico se usa una herramienta llamada PIP.
PIP es un acrónimo que significa "Paquetes de instalación PIP" o "Programa de instalación preferida". Es una utilidad de línea de comandos que le permite instalar, reinstalar o desinstalar paquetes PyPI con un comando simple y directo: "pip".


Cómo instalar PIP en Windows

Las siguientes instrucciones deberían funcionar en Windows 7, Windows 8.1 y Windows 10:
  1. Descargue el script del instalador get-pip.py. Si estás en Python 3.2, necesitarás esta versión de get-pip.py. De cualquier manera, haga clic derecho en el enlace y seleccione Guardar como y guárdelo en cualquier carpeta del pc, como su carpeta de Descargas.
  2. Abra el símbolo del sistema y navegue hasta el archivo get-pip.py.
  3. Ejecute el siguiente comando: python get-pip.py

Administrar paquetes de Python con PIP



Una vez que PIP esté listo, puede comenzar a instalar paquetes de PyPI:

pip install nombre-paquete

Para instalar una versión específica de un paquete en lugar de la última versión:

pip install nombre-paquete == 1.0.0

Para buscar PyPI para un paquete particular:

pip search "query"

Para ver detalles sobre un paquete instalado:

pip show nombre-paquete

Para enumerar todos los paquetes instalados:

pip list

Para enumerar todos los paquetes desactualizados:

pip list --outdated

Para actualizar un paquete desactualizado:

pip install nombre-paquete --upgrade

Tenga en cuenta que las versiones anteriores de un paquete se eliminan automáticamente por PIP cuando se actualiza a una versión más nueva de ese paquete.

Para reinstalar completamente un paquete:

pip install nombre-paquete -upgrade --force-reinstall

Para deshacerse completamente de un paquete:

pip uninstall nombre-paquete


Librerias mas usadas de python 

1. Request: La librería HTTP más famosa que está desarollada por Kenneth Reitz. Es un must-have para todos los desarrolladores de Python.
2. Scrapy: Si estás involucrado en webscraping, esta es una biblioteca que debes manejar sí o sí. Después de utilizar esta biblioteca no utilizarás ninguna otra relacionada.
3. wxPyhton: Un gui toolkit para Python. A esta, en mis propios proyectos, la he priorizado por encima de tkinter. Simplemente, la adorarás.
4. Pillow: Un amistoso fork de PIL (Python Imaging Library). Es mucho más sencillo de utilizar que la propia PIL y se convierte en toda una necesidad para aquellos programadores que trabajen con imágenes.
5. SQLAlchemy: Una biblioteca muy polémica para gestionar bases de datoss. Muchos la aman y muchos la odian. La decisión es cosa tuya.
6. BeautifulSoup: Sé que es lenta, pero esta librería para parsear código de xml y html es muy útil para aquellos que están comenzando a programar en Python.
7. Twisted: La herramienta más importante para cualquier desarrollador de aplicaciones de red. Cuenta con una API muy, pero que muy bonita y es utilizada por una gran cantidad de desarrolladores de Python famosos.
8. NumPy: De esta librería es muy difícil escapar. Proporciona algunas funcionalidades matemáticas avanzadas para Python.
9. SciPi: Si hablamos de NumPy entonces tenemos que hablar también de SciPy. Es una biblioteca de algoritmos y herramientas matemáticas que ha ocasionado que muchos científicos se cambien de Ruby a Python.
10. matplotlib: Una biblioteca de trazado numérico. Es muy útil para cualquier científico de datos o cualquier analizador de datos.
11. Pygame: ¿A qué programador no le gusta echarse unas partiditas a un videojuego? Con la librería Pygame podrás desarrollar juegos en 2D a la antigua usanza.
12. Pyglet: Un motor de animación y creación de juegos en 3D. Este es el motor con el que se desarrolló el juego que más dinero ha generado en Youtube, Minecraft.
13. PyQt: Un conjunto de herramientas GUI para Python. Es mi segunda elección después de wxPython para el desarrollo de interfaces gráficas de usuario para mis scripts en Python.
14. PyGTK: Otra biblioteca GUI para Python. Es la misma biblioteca con la que se creó el famoso cliente Bittorrent.
14. Scapy: Un sencillo analizador de Python desarrollado con Python. Todo muy meta.
16. pywin32: Una biblioteca de Python que proporciona algunos métodos y clases útiles para interactuar con el sistema operativo Windows.
17. NTLK: Sé que la mayoría de los programadores en Python no van a utilizar esto, pero es lo suficientemente genérica como para aparecer en este top. NTLK es una librería muy útil si pretendes manipular cadenas, aparte de otras muchas funciones que debes comprobar tú mismo.
18. nose: Un framework de testing para Python. Es utilizado por millones de desarrolladores de Python. Es totalmente obligatorio si quieres comprobar que todo funcione correctamente en tus proyectos desarrollados con Python.
19. Sympy: Sympy puede hacer evaluaciones algebraica, la diferenciaciones, expansiones, calcular números complejos, etc. Está incluida en la distribución pura de Python.
20. IPython: No puedo deciros con palabras lo útil que es esta librería para Python. Es como si dijeramos, Python tras una sesión de esteroides. Debes echarle un vistazo, sino estarás perdiendo el tiempo.

martes, 4 de septiembre de 2018

Geometría fractal

La geometría fractal  ofrece un modelo alternativo que busca una regularidad en las relaciones entre un objeto y sus partes a diferentes escalas. Esta forma de regularidad no precisa el encorsetamiento del objeto en otras formas geométricas que, aunque elementales, no dejan de ser externas al mismo, sino que busca la lógica interna del propio objeto mediante relaciones intrínsecas entre sus elementos constitutivos cuando estos se examinan a diferentes escalas. De esta forma no se pierden  ni la perspectiva del objeto global, ni del aspecto del mismo en cada escala de observación. La geometría fractal busca y estudia los aspectos geométricos que son invariantes con el cambio de escala.

Los orígenes de la geometría fractal se remontan a finales del siglo XIX y principios del XX con la aparición en el campo de las matemáticas de conjuntos geométricos de propiedades aparentemente paradójicas. En dichos conjuntos (curvas de Peano, conjunto de Cantor...) parecía existir una discordancia entre su tamaño real y su configuración espacial como conjunto de puntos.
Los ejemplos plantearon la necesidad de establecer una separación a la hora de estudiar la medida del tamaño y el estudio de la forma o de las formas geométricas. Con esto surgió lo que hoy se denomina teoría geométrica de la medida.
La teoría geométrica de la medida, tuvo su punto de arranque con la definición del concepto de dimensión de Hausdorff, el cual establecía la distinción del tamaño de los conjuntos paradójicos y que sentó sus bases con los trabajos de Besicovitch durante los años 20 y 30 en los que estudió las propiedades geométricas de los conjuntos planos, esto sería el prototipo de lo que hoy se llamamos fractales, siendo sus trabajos la base de la geometría fractal. A partir de entonces muchos matemáticos continuarán el estudio de este tipo de conjuntos.


domingo, 2 de septiembre de 2018

Diseño de Interfaces con herramientas Glade


Glade es una herramienta de desarrollo visual de interfaces

Gráficas mediante GTK/GNOME. GNOME es un entorno de escritorio e infraestructura de desarrollo para sistemas operativos GNU/LinuxUnix y derivados Unix como BSD o Solaris; compuesto enteramente de software libre. La funcionalidad que marca la diferencia entre GLADE y otras herramientas similares es el hecho de que genera código XML con la definición de toda la interfaz gráfica que crea el diseñador y no es dependiente del codigo de programación lo que permite que se pueda utilizar la interfaz con cualquier lenguaje de programación.

El diseñador de interfaces Glade le permite crear y editar diseños de interfaces de usuario para aplicaciones GTK+. Las bibliotecas GTK+ proporcionan una extensa colección de bloques de construcción de interfaz de usuario tales como cajas, etiquetas de diálogo, entradas numéricas, casillas de selección y menús. Éstos bloques de construcción se llaman widgets.



Herramientas utilizadas en la graficacion: CAD y CASE

Diseño Asistido por Computadora (CAD)
El diseño asistido por computadoras (diseño asistido por ordenador en España), más conocido por sus siglas inglesas CAD (computer-aided design), es cuando se utilizan diferentes programadores gráficos para lograr crear una serie de imágenes que conjuntas crean una imagen más grande (por así decirlo) o más conocida como dibujo. El CAD es también utilizado como un medio de expresión mediante un ordenador y un gestor gráfico; a su vez, se puede decir que también es considerado como una, relativamente nueva técnica de dibujo revolucionaria, con la cual se pueden realizar dibujos y, o planos.
Estas herramientas se pueden dividir básicamente en programas de dibujo 2D y de modelado 3D. Las herramientas de dibujo en 2D se basan en entidades geométricas vectoriales como puntoslíneasarcos y polígonos, con las que se puede operar a través de una interfaz gráfica. Los modeladores en 3D añaden superficies y sólidos.



Ingeniería de Software Asistida por Computadora (CASE)

Las herramientas CASE son diversas aplicaciones informáticas o programas informáticos destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero.
Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras. Ya en los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un producto que analizaba la relación existente entre los requisitos de un problema y las necesidades que estos generaban, el lenguaje en cuestión se denominaba PSL (Problem Statement Language) y la aplicación que ayudaba a buscar las necesidades de los diseñadores PSA (Problem Statement Analyzer).