ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

4 Infografías de LibreOffice.

libreoffice 4LibreOffice es una suite ofimática libre y gratuita multiplataforma que cuenta con un procesador de texto (Writer), un editor de hojas de cálculo (Calc), un gestor de presentaciones (Impress), un gestor de bases de datos (Base), un editor de gráficos vectoriales (Draw), y un editor de fórmulas matemáticas (Math).


LibreOffice fue creada por la fundación The Document Foundation como una bifurcación (fork) de la suite OpenOffice.org en octubre de 2010. Está disponible bajo la licencia GNU Lesser General Public License.


La compra de Sun Microsystems (líder del desarrollo de OpenOffice.org) por Oracle fue el desencadenante de esta bifurcación debido a la orientación dada por Oracle.

LibreOffice 3.3 ha sido descargado más de 1,3 millones de veces. Es la suite ofimática predeterminada en Debian (versión testing), Ubuntu, openSUSE, Fedora y Mageia

libreoffice infografica

libreoffice infografica2

libreoffice infografica1

libreoffice infografica3

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Cómo sincronizar tu teléfono móvil en Ubuntu con Wammu.

wammu-logoWammu es un programa para manejar los datos en el teléfono celular como los contactos, calendario y mensajes.

Está creado sobre la biblioteca Gammu, que provee una capa de abstracción para trabajar con diferentes teléfonos celulares de diferentes proveedores (incluyendo Nokia, Sony-Ericsson, Motorola, Samsung, Siemens, Huawei y otros).

Con Wammu, podremos sincronizar teléfonos móviles Symbian sin ningún problema, además de incluir soporte para otros terminales con sistema operativo propiedad de la marca como pueden ser Nokia, Samsung, Alcatel, Siemens, Motorola o Sharp entre otros modelos.

Para revisar el soporte de un modelo de teléfono la mejor fuente es la Base de datos de teléfonos Gammu que contiene la experiencia de los usuarios con Gammu y diferentes modelos de teléfono.

Familia Gammu.

Gammu ya no es solo un único programa sino que también hay muchas herramientas útiles que comparten la misma biblioteca.

Wammu.

Programa con Interfaz gráfica para manejar contactos, tareas, calendario y mensajes en tu teléfono.

Gammu.

Utilidad de línea de comandos que permite usar todas las funciones de libGammu.

libGammu.

Biblioteca que exporta una API C para comunicarse con teléfonos celulares.

Gammu SMSD.

Servicio de demonio SMS para recibir y mandar mensajes automaticamente.

Python-Gammu.

Vinculaciones Python para libGammu para poder utilizala desde scripts Python.

Kalkun.

Manejador web de SMS («Short Message Service») de código abierto de terceras partes que utiliza Gammu SMSD.

wammu wizard-8 kalkun-dark

Descargas:

Ultima versión estable: 1.33.0

Gammu.

Wammu.

 

Capturas de pantallas.

wammu wizard-1

wammu wizard-2

wammu wizard-3

wammu wizard-5

wammu wizard-7

wammu wizard-8

wammu-edit

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Los 10 artículos más leídos en El Mundo de Ubuntu en el mes de Junio 2013.

 

1.- DJL es un instalador de juegos que proporciona una interfaz sencilla y muchas utilidades.

djl_depotDJL es es un administrador de juegos escrito en Python, que nos permitirá instalar una gran cantidad de títulos (ver el detalle al final del post) en Linux. Es un gestor de juegos, que nos sirve tanto para lanzar los juegos que hemos instalado con él, como para instalar juegos desde la red. He mirado los juegos disponibles en el repositorio y no me puedo quejar, están tanto los más famosos como los no tan conocidos. Para usarlo debemos descargar la última versión, descomprimirla e instalarla.

 

2.- 11 excusas para no usar Ubuntu.

ubuntu vs windowsEstos son algunos de los argumentos que los usuarios de Windows utilizan para no usar Ubuntu ( incluye a Linux en general). Los escucho a diario cuando dicen ,,,,"como podés usar eso y no tener Windows". Los tengo , tanto XP y Seven ( originales) y los he usado por mucho tiempo, solo que los quité de mis ordenadores de uso privado. Algunos cuestionamientos que se hacen por desconocimiento.

 

3.- Ubuntu 13.04 disponible para descarga (Información de pantalla, video, tutorial).

raring ringtail open developmentCanonical oficialmente ha publicado hoy su version 13.04 nombre en codigo “Raring Ringtail”. Se están notando las ventajas de optimizar el sistema operativo para dispositivos móviles con pocos recursos. El sistema consume menos Ram y se agiliza su utilización. Los cambios más destacados, respecto al consumo son:

  • Se ha reducido el uso de memoria que hacían algunos paquetes, cargando datos e imágenes CSS de GTK3, sólo cuando se necesitan.
  • Se arreglaron problemas de memoria en los paquetes libdbusmenu, update-notifier, upower, whoopsie y otros más.
  • LightDM PPS cayó de un uso de 25.7M a 0.6M
  • Algunos procesos fueron modificados para que terminen si no se usan y se reinicien cuando se demandan, por ejemplo signond, signon-ui.

 

4.- Guía HTML: introducción y estructura interna de una página.

html-questionsEn una reciente limpieza a mi disco duro he encontrado esta guia que tenia guardada por ahi y creo que esta muy buena para empezar y conocer las nociones basicas del HTML.
Introducción.
HTML es el lenguaje que se emplea para el desarrollo de páginas de internet.
Este lenguaje está constituido de elementos que el navegador interpreta y las despliega en la pantalla de acuerdo a su objetivo. Veremos que hay elementos para disponer imágenes sobre una página, hipervínculos que nos permiten dirigirnos a otra página, listas, tablas para tabular datos, etc.

 

5.- Guia Python: funciones, estructuras y formatos (2a parte).

python logoPython es un lenguaje de script desarrollado por Guido van Rossum. Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad). Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)

 

6.- Diseño Gráfico en Linux: completo videotutorial de Gimp (28 vídeos).

GIMP (GNU Image Manipulation Program) es un programa de edición de imágenes digitales en forma de mapa de bits, tanto dibujos como fotografías. Es un programa libre y gratuito. Forma parte del proyecto GNU y está disponible bajo la Licencia pública general de GNU. Es el programa de manipulación de gráficos disponible en más sistemas operativos (Unix, GNU/Linux, FreeBSD, Solaris, Microsoft Windows y Mac OS X, entre otros).

 

7.- Guia Python: operadores y estructuras (2a parte).

python logoPython es un lenguaje de script desarrollado por Guido van Rossum. Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad). Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)

 

8.- FreetuxTV excelente aplicación para ver la TV o escuchar la radio en Ubuntu.

Si buscas una aplicación que te permita ver la televisión en directo o escuchar la radio de cualquier parte del mundo en GNU/Linux puede que FreeTuxTV te sea de gran utilidad ya que nos permite hacer esto mismo de forma sencilla. La interfaz de FreetuxTV es muy sencilla y cuando lo iniciamos ya podremos agregar los canales en español, también podremos grabar lo que estamos viendo muy útil si quieres mantenerlo en tu equipo para verlo cuando quieras.

 

9.- Guia Python: funciones, estructuras y formatos (3a parte).

python logoPython es un lenguaje de script desarrollado por Guido van Rossum.Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad). Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)

 

10.- Workarround para usar PulseAudio y Jack de forma sencilla.

Para los que están metidos en el mundo de grabación y producción musical en GNU/Linux de seguro están más que familiarizados con JACK (una herramienta excelente), y seguramente tengan más de una placa de audio (alguna interfaz profesional, la placa de sonido onboard, el micrófono incorporado en las cámaras web, etc) y la forma más fácil de tener todas las placas en orden es a través de PulseAudio.

Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia Python: funciones, estructuras y formatos (3a parte).




python logoPython es un lenguaje de script desarrollado por Guido van Rossum.
Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)
Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)
Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.
El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet).
Indices negativos en tuplas, listas y string.
python Indices negativos en tuplas, listas y string
Hemos visto que en Python accedemos a los elementos de una lista, tupla y string mediante un subíndice que comienza a numerarse a partir de cero:
tupla=(2,4,6,8,10)
print tupla[0]   # 2
lista=[2,4,6,8,10]
print lista[0]   # 2
cadena='hola'
print cadena[0]   # h
Si queremos acceder a la última componente podemos hacerlo:
tupla=(2,4,6,8,10)
print tupla[len(tupla)-1] # 10
Pero Pyton tiene integrado en el lenguaje el acceso de los elementos de la secuencia mediante índices negativos, por ejemplo si queremos acceder a la última componente luego podemos hacerlo con la siguiente sintaxis:
tupla=(2,4,6,8,10)
print tupla[-1]   # 10
lista=[2,4,6,8,10]
print lista[-1]   # 10
cadena='hola'
print cadena[-1]   # a
Es mucho más cómodo utilizar esta segunda forma para acceder a los elementos de una lista, tupla o cadena de caracteres.
Si queremos imprimir los elementos de una tupla en forma inversa (es decir desde el último elemento hasta el primero) podemos hacerlo con el siguiente algoritmo:
tupla=(2,4,6,8,10)
indice=-1
for x in range(0,len(tupla)):
    print tupla[indice] # 10 8 6 4 2
    indice=indice-1
Estructura de datos tipo diccionario.
python Estructura de datos tipo diccionario
Las estructuras de datos vistas hasta ahora (tuplas y listas) utilizan un entero como subíndice. La estructura de datos tipo diccionario utiliza una clave para acceder a un valor. El subíndice puede ser un entero, un string etc.
Un diccionario vincula una clave y un valor.
Si queremos almacenar la cantidad de productos que tenemos en stock podemos implementar un diccionario donde utilizamos como clave el nombre del producto y como valor la cantidad de productos disponibles.
Podemos definir un diccionario con la siguiente sintaxis:
productos={'manzanas':23,'peras':50,'papas':120}
Luego si queremos acceder a la cantidad de productos en stock utilizamos como subíndice el nombre del producto:
print productos['manzanas']
La línea anterior produce como resultado el valor 23.
Mediante un diccionario asociamos para toda clave un valor.
Podemos borrar cualquier entrada dentro del diccionario empleando la siguiente sintaxis:
del(productos['manzana'])
Luego si imprimimos el diccionario en forma completa tenemos como resultado que ya no contiene la entrada 'manzana':
print propductos

{'peras': 50, 'papas': 120}
Podemos modificar el valor asociado a una clave mediante una simple asignación:
productos['papas']=5
Luego si imprimimos el diccionario obtenemos como resultado:
{'peras': 50, 'papas': 5}
Podemos conocer en cualquier momento la cantidad de pares clave-valor que contiene nuestro diccionario mediante la función len:
print len(productos)
Con nuestro problema tenemos como resultado que nuestro diccionario tiene 2 elementos.
Formato de cadenas de caracteres (string).
python Formato de cadenas de caracteres (string)
Cuando tenemos que combinar cadenas de caracteres e incorporarle valores almacenados en otras variables el lenguaje Python nos suministra una técnica para incrustar valores dentro de la cadena.
Veamos mediante ejemplos cual es la sintaxis para plantear estos formatos de cadenas:
x1=10
x2=5
x3=20
print 'El contenido de la primer variable es %d, de la segunda %d y la tercera %d' % (x1,x2,x3)
Si bien podemos utilizar el operador + para ir concatenando cadenas y variables esta técnica hace que nuestro programa sea más legible sobre todo cuando tenemos que sustituir varias variables dentro de una cadena.
Primero indicamos entre comillas la cadena y utilizamos el símbolo % para indicar el lugar donde se sustituirá el valor, debemos indicar luego del caracter % el tipo de dato (en nuestro ejemplo un valor decimal (d))
Luego de la cadena debemos indicar una tupla con los valores o variables de donde se obtendrán los datos. Entre la cadena de formato y la tupla debemos disponer el caracter % (aquí el caracter porcentaje tiene un objetivo distinto que dentro de la cadena de formato)
Se especifican distintos caracteres para cada tipo de dato a sustituir:
x=10
g=10.2
cadena='juan'
print 'El valor entero %d el valor real %f y la cadena %s' % (x,g,cadena)
En el ejemplo propuesto vemos que podemos utilizar los caracteres de formato d (decimal), f (float) y s (string).
Es importante el orden de los valores de la tupla ya que el lenguaje procesa los datos en forma secuencia, es decir cada vez que debe sustituir un valor en la cadena extrae de la tupla el siguiente valor.
Cuando damos formato a una variable real (con coma) podemos disponer dos valores previos al caracter f:
g=20.5498
print 'El valor real es %10.2f' % (g)
El primer valor indica el largo total a reservar y el segundo la cantidad de decimales.
Podemos convertir el valor decimal a tipo octal o hexadecimal:
x=255
print 'Decimal %d en hexadecimal es %x y en octal %o' % (x,x,x)
      #Decimal 255 en hexadecimal es ff y en octal 377
 
No es obligatorio que el formato de cadena se utilice siempre en un print, podemos almacenar el resultado del formato en otra variable string (que podemos eventualmente almacenarla en una base de datos por ejemplo).
vx=10
vy=90
resultado='(%d,%d)' % (vx,vy)
print resultado # (10,90)
También podemos indicar un valor entero en el formato para los tipos de datos enteros y string:
x1=100
x2=1500
x3=5
print '<pre>'
print '%5d' % (x1)
print '%5d' % (x2)
print '%5d' % (x3)
print '</pre>'
El resultado por pantalla es:
100
1500
    5
Es decir reserva en este caso 5 espacios para el entero y hace la alineación a derecha.
Si indicamos un valor negativo los datos se alínean a izquierda:
animales=['perro','elefante','pez']
print '<pre>'
for elemento in animales:
    print '%20s' % elemento
for elemento in animales:
    print '%-20s' % elemento
print '</pre
>'
El resultado de ejecutar el programa es:
perro
  elefante
  pez
perro              
elefante           
pez                
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia Python: funciones, estructuras y formatos (2a parte).




python logoPython es un lenguaje de script desarrollado por Guido van Rossum.
Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)
Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)
Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.
El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet).
Porciones de tuplas.
python porciones de tuplas
El lenguaje Python nos permite rescatar una "porción" de una tupla, es decir un trozo de la misma.
Si tenemos la siguiente tupla:
tupla1=(1,7,20,40,51,3)
tupla2=tupla1[0:4]
print tupla2
El resultado es una tupla con cuatro valores:
(1,7,20,40)
Es decir indicamos como subíndice un rango de valores, en este caso desde la posición 0 hasta la posición 4 sin incluirla.
Podemos no indicar alguno de los dos rangos:
tupla1=(1,7,20,40,51,3)
tupla2=tupla1[3:]
print tupla2
El resultado es una tupla con tres valores, desde la posición 3 hasta el final de la tupla:
(40, 51, 3)
En caso de no indicar el primer rango:
tupla1=(1,7,20,40,51,3)
tupla2=tupla1[:2]
print tupla2
El resultado es una tupla con dos valores, desde el principio de la tupla hasta la posición 2 sin incluirla:
(1, 7)
Estructura de datos tipo cadena de caracteres (string).
python Estructura de datos tipo cadena de caracteres (string)
Una cadena de caracteres permite almacenar un conjunto de caracteres. Su funcionamiento es similar a una tupla.
Para inicializar un string utilizamos el operador de asignación.
nombre='Juan Pablo'
Podemos utilizar las comillas simples o dobles para su inicialización:
mail='jose@gmail.com'
o
mail="jose@gmail.com"
Para conocer el largo de un string podemos utilizar la función len:
print len(mail)
Para acceder a un caracter particular del string lo hacemos indicando un subíndice entre corchetes:
print mail[0]  #Imprimimos el primer caracter
El lenguaje Python nos permite rescatar una "porción" de un string con la misma sintaxis que trabajamos las tuplas:
nombre='Jose Maria'
print nombre[1:4]  #ose
print nombre[:4] #Jose
print nombre[5:] #Maria
Los string son inmutables, es decir que no podemos modificar su contenido luego de ser inicializados:
titulo='Administracion'
titulo[0]='X' # Esto produce un error
Esto no significa que no podemos utilizar la variable para que referencie a otro string:
nombre='Jose'
print nombre
nombre='Ana'
print nombre
Para concatenar string Python permite utilizar el operador +.
Si tenemos tres string y queremos almacenar sus contenidos en un cuarto string podemos codificarlo de la siguiente manera:
cadena1='uno'
cadena2='dos'
cadena3='tres'
total=cadena1+cadena2+cadena3
print total #unodostres
También Python define el operador * para los string. El resultado de multiplicar un string por un entero es otro string que repite el string original tantas veces como indica el número.
#si queremos un string con 80 caracteres de subrayado, la forma más sencilla es utilizar la siguiente expresión:
separador='_'*80
print separador
Los operadores relacionales definidos para los string son:
> Mayor
>= Mayor o igual
< Menor
<= Menor o igual
== Igual
!= Distinto
Si queremos saber si un string es mayor alfabéticamente que otro utilizamos el operador >
nombre1='CARLOS'
nombre2='ANABEL'
if nombre1>nombre2:
    print nombre1+' es mayor alfabéticamente que '+nombre2
si queremos saber si dos variables tienes en mismo contenido:
nombre1='CARLOS'
nombre2='CARLOS'
if nombre1==nombre2:
   print 'Las dos variables tienen el mismo contenido:'+nombre1
Estructura de datos tipo lista.
python Estructura de datos tipo lista
Una lista es una colección de datos no necesariamente del mismo tipo que se los accede por medio de subíndices. La diferencia fundamental de una lista con una tupla es que podemos modificar la estructura luego de haberla creado.
Hay varias formas de crear una lista, la primera y más sencilla es enumerar sus elementos entre corchetes y separados por coma:
lista1=['juan','ana','luis']
Para acceder a sus elementos lo hacemos indicando un subíndice subíndice:
print lista1[0]
Como decíamos la diferencia con una tupla (son inmutables) es que podemos modificar la lista luego de creada:
lista1=[10,15,20]
print lista1
print '<br>'
lista1[0]=700 # modificamos el valor almacenado en la primer componente de la lista.
print lista1
De forma similar a las tuplas y string la función len nos informa de la cantidad de elementos que contiene la lista:
lista1=[10,15,20]
print len(lista1) # imprime un 3
Es muy común emplear la estructura for in para recorrer y rescatar cada elemento de la lista, la variable elemento almacena en cada ciclo del for un elemento de la lista1, comenzando por el primer valor:
lista1=['juan',23,1.92]
for elemento in lista1:
    print elemento
    print '<br>'
Si queremos saber si un valor se encuentra en una lista existe un operador llamado in:
lista1=[12,45,1,2,5,4,3,55]
if 1 in lista1:
    print 'El valor 1 está contenido en la lista '
else:
    print 'El valor 1 no está contenido en la lista '
print lista1
Python define los operadores + y * para listas, el primero genera otra lista con la suma de elementos de la primer y segunda lista. El operador * genera una lista que repite tantas veces los elementos de la lista como indica el valor entero seguido al operador *.
lista1=[2,4,6,8]
lista2=[10,12,14,16]
listatotal=lista1+lista2
print listatotal
Luego empleando el operador *:
lista1=['juan','carlos']
producto=lista1*3
print producto
El resultado de este algoritmo es:
['juan', 'carlos', 'juan', 'carlos', 'juan', 'carlos']
También con listas podemos utilizar el concepto de porciones que nos brinda el lenguaje Python:
lista=[2,4,6,8,10]
print lista[2,4]   #[6, 8]
print lista[:3]    #[2, 4, 6]
print lista[3:]    #[8, 10]
Como vimos podemos modificar el contenido de elementos de la lista asignándole otro valor:
lista=[2,4,6]
lista[1]=10
print lista  #[2, 10, 6]
Podemos borrar elementos de la lista utilizando la función del:
lista=[2,4,6]
del(lista[1])
print lista  #[2, 6]
Además podemos utilizar porciones para borrar un conjunto de elementos de la lista:
lista=[2,4,6]
del(lista[1:])
print lista  #[2]
También podemos añadir elementos a una lista:
lista=[5,10,11,12]
lista[1:1]=[6,7,8,9]
print lista #[5,6,7,8,9,10,11,12]
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia Python: funciones, estructuras y formatos (1a parte).



python logoPython es un lenguaje de script desarrollado por Guido van Rossum.
Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)
Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)
Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.
El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet).
Funciones.
python funciones
La estructura fundamental de programación de los lenguajes estructurados son las funciones. Una función es un conjunto de instrucciones que se la invoca mediante un nombre y que luego de ejecutado el algoritmo puede retornar un valor.
Un programa estructurado no es más que un conjunto de funciones que en conjunto resuelven un problema complejo.
Veamos la sintaxis en Python para definir y llamar a una función:
def presentacion():
    print 'Primer mensaje.<br>'
    print 'Segundo mensaje.<br>'

def fin():
    print 'Ultimo mensaje.'

presentacion()
fin()
Para definir una función utilizamos la palabra clave 'def' seguida por el nombre de la función, luego si no tiene parámetros como este caso debe ir paréntesis abiertos y cerrados y dos puntos. Seguidamente las instrucciones de la función se indentan a derecha.
def presentacion():
    print 'Primer mensaje.<br>'
    print 'Segundo mensaje.<br>'
Una función se ejecuta cuando se la llama por su nombre:
presentacion()
Es importante notar que primero debemos declarar la función y luego llamarla.
Una función puede tener parámetros de entrada, por ejemplo si queremos una función que reciba dos enteros y luego nos imprima el mayor, el algoritmo es el siguiente:
def imprimirmayor(valor1,valor2):
    if valor1>valor2:
        print valor1
    else:
        print valor2

imprimirmayor(4,5)
print '<br>'
x1=20
x2=30
imprimirmayor(x1,x2)
Los parámetros de la función se indican en la cabecera de la función separados por comas.
Cuando llamamos a la función estamos obligados a enviarle datos a los dos parámetros.
Podemos enviarle directamente los valores:
imprimirmayor(4,5)
O podemos enviarle variables previamente inicializadas:
x1=20
x2=30
imprimirmayor(x1,x2)
Como podemos notar con este ejemplo una función puede ser llamada más de una vez (en este caso la llamamos dos veces)
Funciones con retorno de dato.
python Funciones con retorno de dato.
Hay muchas situaciones donde queremos que la función luego de ejecutarse retorne un valor y se almacene en una variable desde donde la llamamos.
Por ejemplo si necesitamos una función que reciba tres enteros y nos retorne el mayor la sintaxis será la siguiente:
def retornarmayor(x1,x2,x3):
    if x1<x2 and x1<x3:
        return x1
    elif x2<x3:
        return x2
    else:
        return x3

may=retornarmayor(4,5,3)
print may
Como podemos observar la instrucción return indica el valor devuelto por la función.
El valor retornado se almacena en una variable:
may=retornarmayor(4,5,3)
Podemos inclusive mostrar directamente el valor retornado por la función:
print retornarmayor(40,5,3)
O utilizarlo en una condición:
if retornarmayor(40,5,3)<20:
    print 'El valor devuelto es mayor a 20'
Estructura de datos tipo tupla.
python Estructura de datos tipo tupla.
Hasta ahora hemos empleado variables que permiten almacenar un único valor. En Python existen varias estructuras de datos que permiten almacenar un conjunto de datos.
La primera que presentaremos es la tupla:
Una tupla es una colección de datos no necesariamente del mismo tipo que se los accede por medio de subíndices.
Definición de una tupla:
tupla1=('juan',18,1.92)
Hemos definido una tupla de tres elementos. El primer elemento es de tipo cadena de caracteres, el segundo un entero y finalmente un valor flotante.
Cada elemento de una tupla se los separa por una coma.
Para acceder a los elementos lo hacemos por medio del nombre de la tupla y un subíndice numérico:
print tupla1[0]
Los elementos de la tupla comienzan a numerarse a partir de cero y utilizamos los corchetes para hacer referencia al subíndice.
Si queremos en algún momento saber la cantidad de elementos de una tupla debemos llamar la función len:
print len(tupla1) #imprime un 3
con dicha función podemos disponer una estructura repetitiva para imprimir todas las componentes de la tupla con el siguiente algoritmo:
tupla1=('juan',18,1.92)
indice=0
while indice<len(tupla1):
    print tupla1[indice]
    indice=indice+1
Veremos en el próximo concepto que hay una estructura repetitiva que nos facilita recorrer los elementos de una tupla.
Una vez definida la tupla no se pueden modificar los valores almacenados.
La función print puede recibir como parámetro una tupla y se encarga de mostrarla en forma completa:
print tupla1
De todos modos cuando tenemos que acceder a algún elemento de la tupla debemos hacerlo mediante un subíndice entre corchetes.
La característica fundamental de una tupla es que una vez creada no podemos modificar sus elementos, ni tampoco agregar o eliminar.
Estructura repetitiva for in para recorrer una tupla.
python Estructura repetitiva for in para recorrer una tupla.
Para recorrer una tupla es muy común utilizar la estructura repetitiva for.
Veamos con un ejemplo la sintaxis de esta estructura repetitiva:
tupla1=('juan',23,1.92)
for elemento in tupla1:
    print elemento
    print '<br>'
Como podemos ver la instrucción for requiere una variable (en este ejemplo llamada elemento), luego la palabra clave in y por último la tupla. El bloque del for se ejecuta tantas veces como elementos tenga la tupla, y en cada vuelta del for la variable elemento almacena un valor de la tupla1.
Esta estructura repetitiva se adapta mucho mejor que el while para recorrer este tipo de estructuras de datos.
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia Python: operadores y estructuras (2a parte).



python logoPython es un lenguaje de script desarrollado por Guido van Rossum.
Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)
Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)
Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.
El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet)
Operadores lógicos.
python operadores logicos
En Python contamos con los siguientes operadores lógicos:
and   (y)

or    (o)

not   (no)
Los operadores lógicos nos permiten agrupar condiciones simples en una estructura condicional, esto nos facilita la implementación de algoritmos más compactos y comprensibles.
Cuando unimos dos condiciones simples con el operador lógico 'and' ambas condiciones deben verificarse como verdaderas para que la condición compuesta se verifique verdadera. Por ejempo si tenemos que mostrar un mensaje si la edad de una persona está comprendida entre 12 y 18 años podemos plantearla con una única estructura condicional:
if edad>=12 and edad<=18:
print 'Edad comprendida entre 12 y 18'
Estamos diciendo si la variable 'edad' tiene un valor mayor o igual a 12 y además la variable edad tiene un valor menor o igual a 18 luego ejecutar la rama del verdadero.
La condición anterior nos evita tener que implementar dos estructuras condicionales:
if edad>=12:
    if edad<=18:
        print 'Edad comprendida entre 12 y 18'
El operador lógico 'or' hace que con que alguna de las condiciones sea verdadera luego ejecute el bloque del verdadero.
if x1<5 or x2<5:
Se ejecuta la rama del verdadero si al menos una de las dos variables es menor a 5.
El operador not invierte el valor de una condición:
if not x1>x2:
Si x1 no es mayor a x2 luego ejecuta la rama del verdadero de la estructura condicional.
Podemos plantear condiciones con más de dos condiciones simples:
if x1<0 or x2<0 or x3<0:
Si x1 o x2 o x3 tienen un valor inferior a cero luego se ejecuta la rama del verdadero del if.
Estructura condicional if-elif.
python Estructura condicional if-elif.
Esta estructura condicional es una forma más elegante de disponer estructuras condicionales anidadas.
Veamos como lo hacemos con estructuras condicionales anidadas y luego utilizando la sintaxis if/elif:
(problema: generar un número aleatorio entre 1 y 1000, luego imprimir la cantidad de dígitos del número generado)
import random

x=random.randint(1,1000)
print x
print '<br>'
if x<10:
    print 'Tiene 1 dígito'
else:
    if x<100:
        print 'Tiene 2 dígitos'
    else:
        if x<1000:
            print 'Tiene 3 dígitos'
        else:
            print 'Tiene 4 dígitos'
Luego con la estructura condicional if/elif:
import random

x=random.randint(1,1000)
print x
print '<br>'
if x<10:
    print 'Tiene 1 dígito'
elif x<100:
    print 'Tiene 2 dígitos'
elif x<1000:
    print 'Tiene 3 dígitos'
else:
    print 'Tiene 4 dígitos'
Estructura repetitiva while.
Las estructuras repetitivas nos permiten ejecutar un bloque de instrucciones varias veces, dependiendo de una condición.
La estructura while repite el bloque de instrucciones mientras la condición se verifique verdadera.
Si queremos mostrar los números del 1 al 100 con estructuras secuenciales el proceso es largo y engorroso, utilizando una estructura repetitiva el algoritmo es muy compacto:
print 'Números del 1 al 100:'
x=1
while x<=100:
    print x
    print '-'
    x=x+1
print 'Fin'
Es importante recordar y remarcar que las instrucciones que se ejecutan en la estructura repetitiva while son todas las que se encuentran indentadas a derecha (cuatro espacios más a la derecha de la instrucción while)
La variable x se inicializa previo a la estructura while con el valor 1. La primera vez que se ejecuta la condición del while se verifica verdadera, ya que 1 es menor o igual a 100.
Dentro de la estructura repetitiva mostramos el contenido de la variable x, luego imprimimos un guión y finalmente incrementamos la variable x con el valor actual más uno.
La impresión de la cadena 'Fin' se ejecuta una vez finalizada la estructura repetitiva while.
python banner
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

Guia Python: operadores y estructuras (1a parte).


python logoPython es un lenguaje de script desarrollado por Guido van Rossum.
Podemos codificar empleando programación lineal, estructurada y orientada a objetos (tengamos en cuenta que esta última es la que se ha impuesto en la actualidad)
Se cuenta con intérpretes de Python en múltiples plataformas: Windows, Linux, Mac etc. Se pueden desarrollar aplicaciones de escritorio como aplicaciones web. Empresas como Google, Yahoo, Nasa etc. utilizan este lenguaje para sus desarrollos (actualmente el creador de Python Guido van Rossum trabaja para Google.)
Se puede ejecutar instrucciones de Python desde la línea de comando o creando archivos con extensión *.py. Cuando uno comienza a aprender este lenguaje la línea de comandos nos provee una retroalimentación del resultado en forma inmediata.
El objetivo de este tutorial es presentar en forma progresiva los conceptos fundamentales de este lenguaje y poder analizar los problemas resueltos y codificar los problemas propuestos en este mismo sitio, sin tener que instalar en un principio el Python en su equipo (o luego de instalado poder avanzar con el tutorial en cualquier máquina conectada a internet)
Operadores matemáticos.
Python nos suministra los siguientes operadores matemáticos para trabajar con números enteros y flotantes:
+ suma
- resta
* multiplicación
/ división de flotantes
// división de enteros
% resto de una división
** exponenciación
Hay que tener en cuenta que si dividimos dos enteros con el símbolo / el resultado es un entero. Debe ser alguno de los dos números flotantes para que el resultado sea float.
Estructura condicional if.
Igual que otros lenguajes cuando tenemos que tomar una decisión en nuestro programa debemos utilizar la estructura if.
Algo muy importante en el lenguaje Python que no lo tienen otros lenguajes es que la indentación es obligatoria e indica las intrucciones contenidas en un if.
Analicemos el siguiente ejemplo:
nombre='juan'
edad=15
if edad<18:
    print nombre
    print ' es menor de edad.<br>'
print 'Fin del programa'
La estructura if contiene una condición, si dicha condición se verifica verdadera luego se ejecutan todas las instrucciones que se encuentran indentadas (es decir corridas a derecha) Es muy común utilizar una indentación de 4 espacios.
En nuestro ejemplo la instrucción:
print 'Fin del programa'
se encuentra fuera de la estructura if.
Si la condición se verifica verdadera luego se ejecutan las intrucciones:
print nombre
    print ' es menor de edad.<br>'
Es obligatorio luego de la condición del if disponer los dos puntos
if edad<18:
También similar a otros lenguajes la estructura condicional if tiene una segunda parte que es el else, dicha sección se ejecuta si la condición se verifica falsa.
nombre='juan'
edad=15
print nombre
if edad<18:
    print ' es menor de edad.<br>'
else:
    print ' es mayor de edad.<br>'
print 'Fin del programa'
Nuevamente tener en cuenta que las instrucciones que se indiquen por el else deben estar corridas a derecha (indentadas).
La palabra clave else requiere también los dos puntos
else:
Problema resuelto
Generar un número aleatorio comprendido entre 1 y 20. Luego mostrar si el valor generado tiene uno o dos dígitos.
Para generar un valor aleatorio hay una librería que debemos importar (veremos más adelante el concepto de módulos)
import random
Luego podemos llamar la función randint de dicho módulo, esta función requiere dos valores enteros y nos devuelve otro valor entero comprendido entre ellos (lo selecciona de forma aleatoria, es decir al azar)
x=random.randint(1,20)
Operadores relacionales.
En Python contamos con los siguientes operadores relacionales:
== Igualdad

!= Desigualdad

< menor

<= menor o igual

> mayor

>=mayor o igual
Cuando disponemos una condición en una estructura condicional debemos utilizar alguno de estos seis operadores relacionales.
Toda condición debe tener un operando o valor, luego un operador relacional y finalmente otro operando o valor.
Todas estas condiciones son válidas:
if edad==18:

if edad<=18:

if edad!=50:

if edad>=18:

if valor1<valor2:

if valor1>valor2:
Python_add5_syntax.svg
Estructura condicional if anidada.
En ocaciones cuando hay más de dos caminos posibles es necesario implementar estructuras condicionales anidadas, es decir por la rama del verdadero o falso (else:) disponemos otras estructuras condicionales.
Debemos tener cuidado con la indentación del código para evitar errores.
Veamos un ejemplo que requiere utilizar estructuras condicionales anidadas. Generaremos tres números aleatorios y luego imprimiremos el mayor de los tres:
import random

x1=random.randint(1,100)
x2=random.randint(1,100)
x3=random.randint(1,100)
print x1
print '-'
print x2
print '-'
print x3
print '<br>'
print 'El mayor es:'
if x1>x2:
    if x1>x3:
        print x1
    else:
        print x3
else:
    if x2>x3:
        print x2
    else:
        print x3
Como podemos observar por el bloque del verdadero del primer if tenemos otra estructura condicional (debemos indentar cada estructura condicional):
if x1>x2:
    if x1>x3:
        print x1
    else:
        print x3
python logo multiple
Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog: