![]() |
||||||||||||||
PROGRAMACION EN PYTHON DESDE CERO
POR TXSHACK ![]() ¿QUE ES PYTHON? Como muchos de ustedes ya sabran, python es un lenguage de programacion, el cual, du creado por Guido van Rossum en el año 1990. Python es considerado como la "oposición leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa. Los usuarios de Python consideran a éste mucho más limpio y elegante para programar. Si quieren saber mas sobre python, vean la definicion que ofrece la Wikipedia VER DEFINICION DE PHYTON INTRODUCCION Ahora que ya sabemos mas o menos lo que es phyton, vamos a descargartos el programa de python idle: - Si usan Windows, descargenlo de AQUI - Si usan Linux, descargenlo de AQUI Las descargas son seguras, ya que se realizan desde la pagina oficial de python, asi que no se preocupen por nada. Una vez descargado e instalado (no tiene complicacion alguna) veremos que se nos a añadido el programa en inicio, todos los programas, python 2.5, hay veran el IDLE, el comand line, y el module docs... Podremos usar estos programas para programar con python si, pero les aconsejo que se descargen el pythoG, que es un modulo de python, que permite relizar la programacion de una forma mucho mas clara y visual que el comand line... descargenlo, mas tarde se daran cuenta del porque, y de que merece la pena (sobre todo ahora que estamos empezando) DESCARGAR PYTHONG Bien, una vez descargado, descomprimen el archivo zip, y les aparecera una carpeta... La abren y ejecutan el archivo phytong.pyw Se les abrira una pantalla como esta. Phyton es un lenguaje que puede calcular operaciones matematicas de extremada complejidad, se le suele llamar "La Gran Calculadora" , debido a que con gran facilidad se pueden realizar operaciones complejas, a diferencia de otros lenguajes... Por ejemplo, escrivan en el phytonG, o en el IDLE o Comand 3+2 y pulsen intro Veran que el programa les responde 5 Bueno, esto es una cosa sencilla, lo se.... pero bueno, una vez sabemos esto, pasemos a ver los comandos basicon de python COMANDO PRINT E INPUT Estos dos comandos son de los mas usados... el primero te permite mostrar informacion en pantalla, y el segundo nos permite ingesar informacion... (para los que sepan algo de batch, el print es algo parecido al echo) Vamos a ver un ejemplo de print Abrimos el pythong y en donde pone fichero, seleccionamos nuevo. Veremos que se nos a creado una nueva ventana llamada anonimo. Pues escrivimos, print "aprende python con txshack" y a continuacion acemos clic en python, ejecutar Esto aria que en nuestro programa apareciese Aprende python con.... Tambien podriamos hacer esto, para que vean, en la solapa python, en vez de la de anonimo... quedaria asi.. La diferencia es el tema visual, y que se ejecuta automaticamente al pulsar intro... Entienden no?? espero que si. Basta con escribir print, seguido de un espacion y entre " " lo que qeramos que se imprima en pantalla. Tambien podemos asociar a una letra un deteminado valor, de la siguiente forma: v=19 print "mi edad es", v Facil no?? Pues bien, si queremos que la variable sea resultado de una pregunta, deveremos emplear el valor input, o raw_input. La diferencia es que input, solo es para numros... es decir, que a la pregunta que agamos, se la tiene que responder con un valor (1, 2, 5, 10, 154, 7000...) por ejemplo: Prueven a hacerlo y respunder con alguna letra, veran que les salta un error. Para solucionar eso, esta el valor que antes mencione, en raw_input, que permite cualquier respuesta a la pregunta... veamos un ejemplo Parece facil verdad?? ... pues lo es xD Practicad y vereis Ahora les are el ejemplo de una operacion... por ejemplo una suma, ustedes pueden provar con cualquier otra. (+ - * /) Podremos emplear el comando int o float (ahora veran como con un ejemplo) El comando int, hace que la operacion de un numero entero, es decir, sin decimales... y el comando float nos dara el resultado con decimales (si los tiene) por ejemplo 3,453 Vean un ejemplo: Si en algun momento se equivocan, puede ser porque se les pase poner unas " o alguna letra mal... etc. Cuando den a ejecutar, les aparecera un mensaje de error, indicando la linea y detalles del comando no reconocido... eso nos facilitara la busqueda de errores.
Bueno, antes de continual con el siguiente capitulo (el IF y ELSE), are algunos ejemplos empleando algunas cosas de lo explicado asta ahora, espero que les ayude, pues con ejemplos se aprende.... Podemos establecer varias variables en una sola liena... vean con este ejemplo: Citar
corto, medio, largo = 28, 30, 31
print "siete meses tienen", largo, "dias" print "cuatro meses tienen", medio, "dias" print "y uno que tiene", corto, "dias" Citar
edad= int(raw_input("¿cuantos años tienes?"))
print "tu edad es de", edad y ya sabran, porque e puesto int y no float no?? estos son detalles a tener en cuenta para que el programa quede bien xD mm... aver otra cosa que os pueda decir... si!! mirad es lo mismo escribir Citar
print '¿Cómo te llamas?'
nombre = raw_input() print 'Me alegro de conocerte,' , nombre que hacerlo como yo os dije al principio (mas sencillo xD) Citar
nombre = raw_input('¿Cómo te llamas?')
print 'Me alegro de conocerte,' , nombre * por si alguien tiene dudas, en los dos casos anteriores ocurrira lo mismo otra cosa... Por defecto, la función raw_input() convierte la entrada en una cadena. Si quieres que Python interprete la entrada como un número entero, debes utilizar la función int() de la siguiente manera: Citar
print 'Dime una cantidad en pesetas: ',
cantidad = int(raw_input()) print cantidad, 'pesetas son' , cantidad/166.386, 'euros' Fíjate en que al haber una coma al final de la primera línea la entrada se escribe a continuación y no en la línea siguiente. Para que Python interprete la entrada como un número decimal, debes utilizar la función float() de la siguiente manera: Citar
print 'Dime una cantidad en euros (hasta con dos decimales): ',
cantidad = float(raw_input()) print cantidad, 'euros son' , cantidad*166.386, 'pesetas' Otra cosa, existen como sabreis dos tipos de numeros, enteros y reales... pues en muchas ocasiones, segun como escrivas el numero, python lo asignara como entero o real... veamoslo con un ejemplo: prueva escriviendo esto Citar
>>> a = 5
>>> b = 4.5 >>> c = 12.0 Al acer esto, python asignara al nº a un valor entero, mientras que b y c los considerara reales. Esto es importante a la hora de acer algunos calculos con numeros... vean un ejemplo: Citar
>>> distancia = 100
>>> tiempo = 3 >>> distancia / tiempo 33 >>> distancia = 100.0 >>> tiempo = 3.0 >>> distancia / tiempo 33.333333333333336 En el primer caso el resultado no tiene decimales, mientras que en el segundo caso el resultado sí que sale con decimales (en realidad hubiera sido suficiente con que una de las dos variables tuviera decimales para que el resultado se mostrara con decimales). Observa también que la última cifra del resultado de la división con decimales es incorrecta. Este error se debe a la forma en que Python almacena internamente los números decimales y hay formas de resolverlo. Este problema lo tienen casi todos los lenguajes de programación. En las operaciones, depende del orden nos variara, asi q tendremos q tener cuidado.. miren con este ejemplo lo q puede pasar: Citar
>>> variable = 100
>>> variable / 60 * 60 60 >>> variable * 60 / 60 100 Como Python efectúa los cálculos de izquierda a derecha, en el primer caso primero divide (100 / 60 = 1 al tratarse de números enteros) y después multiplica (1 x 60 = 60). En el segundo caso primero multiplica (100 * 60 = 6000) y luego divide (6000 / 60 = 100). Para resolver este problema, los creadores de Python han decidido modificar la forma de dividir de Python. El cambio se realizará a partir de la versión 3.0. Así, el resultado de una división será siempre decimal, aunque se dividan números enteros. Mientras tanto, habrá que estar atentos. IGUALDADES, IF, ELSE, LISTAS En primer lugar hablare un poco del verdadero y falso (True y false) Podeis ver un ejemplo haciendo lo siguiente Podemos usar operaciones logicas mas complejas con los comandos not, and, or y la expresion a ^ b (exclusivo) * La expresión not(a) es verdadera cuando la expresión a es falsa (y viceversa). * La expresión a and b es verdadera únicamente cuando las dos expresiones a y b son verdaderas. * La expresión a or b es falsa únicamente cuando las dos expresiones a y b son falsas. * La expresión a ^ b (o exclusivo) es verdadera únicamente cuando solamente una de las dos expresiones, a o b, es verdadera. Ahora veremos unos ejemplos: Si escrivimos Citar
>>> not(3>2)
Nos dara falso, ya que la comparacion exa entre parentesis es verdadera >>> (3>2) and (4>5) Falso porque la segunda comparación no es cierta >>> (3>2) or (4>5) Verdadero porque la primera comparación es cierta >>> (3>2) ^ (5>4) Falso porque las dos comparaciones son ciertas Tambien podemos hacer comparaciones; Citar
== igual a
<= menor o igual a >= mayor o igual a < menor que > mayor que por ejemplo asignamos: a= 1 b= 2 a == b FALSE Tenez cuidado no poner a = b, porque sino lo q ara, sera dar a a el valor de b. Provaz y lo vereis Creo que no merece la pena entretenerse en esto, puesto que hasta en el colegio hicimos ejercicios de estos no?? pasemos al if y else ^^ IF Y ELSE: Si saben algo de ingles, sabran que if significa "si", y else "si no" veamos un ejemplo... Tambien podemos utilizar el comando elif que se emplea por si queremos usar mas de un else. LISTAS Una lista es un conjunto ordenado de elementos del mismo o diferente tipo. Se representan escribiendo los elementos entre corchetes y separados por comas. Por ejemplo Citar
>>> Lista1 = ['A', 'B', 'C', 'D']
>>> Lista1 ['A', 'B', 'C', 'D'] >>> Lista2 = ['E', 'F'] >>> # Ahora las encadenamos >>> Lista3 = [Lista1, Lista2, 'G', 'H'] >>> Lista3 [['A', 'B', 'C', 'D'], ['E', 'F'], 'G', 'H'] >>> # Tambien podemos sumar listas >>> Lista1 + ['F'] [['A', 'B', 'C', 'D', 'F'] >>> # Pero no pongais esto... >>> Lista1 + 'F' >>> # Os saldra un error, deve de ir entre [ ] >>> # Tambien podemos llamar a una sola parte de la lista >>> print Lista1[0] A >>> print Lista1[2] C >>> fecha = [12,'Octubre',2000] >>> print fecha[0], fecha[1], fecha[2] 12 Octubre 2000 >>> print fecha[3] Traceback (most recent call last): File "<pyshell#3>", line 1, in ? print fecha[3] IndexError: list index out of range >>> # Como ven da error porque no hay valor 3 >>> # podemos modificar algun valor asi: >>> fecha[0] = 20 >>> fecha [20,'Octubre',2000] >>> print fecha[0], fecha[1], fecha[2] 20, Octubre, 2007 >>> # Cuando hagan listas >>> # Las letras deben ir ente ' ' >>> # Los nº no ¿An entendido esto de las listas no?? Por cierto, se me habia olvidado comentarles que lo que esta con # son comentarios, que no influiran para nada en el codigo, ni ne el programa... Si conocen batch, es como si seria el comando rem... Si las listas son largas y depende del momento nos interesa sacar partes de llas, podemos hacer lo siguiente: Citar
>>> dias = ['Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo']
>>> print dias[1:3] >>> # Se extraen los valores 1 y 2 ['Martes', 'Miércoles'] >>> print dias[4:5] >>> # Se extrae una lista con el valor 4 ['Viernes'] >>> print dias[4:4] >>> # Se extrae una lista vacía [] >>> print dias[:4] >>> # Se extrae una lista hasta el valor 4 (no incluido) ['Lunes', 'Martes', 'Miércoles', 'Jueves'] >>> print dias[:] # Se extraen todos los valores ['Lunes', 'Martes', 'Miércoles','Jueves', 'Viernes', 'Sábado', 'Domingo'] Y de esta forma tambien podeis hacer modificaciones... dias[1:3] = ['txshack'] Esto sustituira al martes y miercoles por la palabra txshack. O podemos eliminar un valor con del del dias[0] Esto kitaria el lunes... jeje, no fuese malo... Podemos recorrer una lista de la siguiente forma: Citar
>>> letras = ['A', 'B', 'C', 'D', 'E']
>>> for i in letras: print i, A B C D E Y ya que sabemos el if y else... un pequeño ejemplo combinandolos con una lista FUNCION RANGE Bueno, en este nuevo capitulo, empezare explicando brebemente la funcion range. Lo que hace esta funcion, es crear una lista de numeros enteros. Range, puede tener 1, 2 o 3 argumentos numericos. Ire explicando cada una de ellas. La funcion Range de 1 solo argumento, se escrive range(n), y lo que hace, es crear una lista de numeros, que va desde el 0 hasta el numero justo anterior al q ponemos en "n" Les pondre un ejemplo para q lo vean mas claro: Sencillo verdad?? pues la funcion range de 2 argumentos es parecida... Lo unico que en vez de empezar desde 0, empieza desde el numero "m" en este caso: Range(m,n) y acaba justo en el anterior a "n" Veamos: Y por ultimo, la funcion range de 3 argumentos, digamos por ejemplo; range(m,n,o) crea una lista que empieza en "m", y va abanzando en intervalos de "o" hasta llegar a "n". El valor "o" no puede ser 0, porque para eso utilizariomos la funcion range de 2 argumentos. Si "o" es positivo, la lista sera creciente... pero "n" tiene q ser mayor que "m" , o sino quedara la lista vacia (logico) Y si "o" es negativo, la lista sera decreciente, y en este caso, "m" tiene q ser mayor que "n" Citar
>>>range (2,13,2)
[2, 4, 6, 8, 10, 12] >>>range (14,0,-2) [14, 12, 10, 8, 6, 4, 2] LA FUNCION LEN Len, nos sirve para "medir" caracteres. Por ejemplo de una palabra o de una cadena... Tambien la podemos asociar a range, para que nos devuelva el resultado en forma de lista Veamos algun ejemplo: Bueno, ven que es sencillo no?? gracias a txShack Por este Manual Esto es Todo. |
![]() |