PYTHON DESDE CERO

Iniciado por TxShack, 7 Julio 2007, 22:33 PM

0 Miembros y 3 Visitantes están viendo este tema.

TxShack

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 ^^

Espero que asta aqui ayan entendido... esta tarde si tengo un rato continuo, sino seguire mañana, ahora tengo que marcharme.

Un saludo

TxShack

Con la colaboracion de: Caper





Se buscan moderadores para www.infiernohacker.com

TxShack

Bueno, ya estoy de nuevo aqui ^^

En el capitulo anterior, no me dio tiempo a acabar con lo de las operaciones, pero no se preocupen, ahora les sigo explicando...

Como pudieron ver, las operaciones de las que dispondremos siempre son las de:

multiplicar *
sumar +
restar -
dividir /

Si queremos hacer uso de otras como por ejemplo, raiz cuadrada, nº elevado a..., logaritmo, seno, coseno etc... deveremos importar el modulo antes de escribir el comando.

Antes de continual veamos el resto de operaciones q son necesarias importar:

- in(x) Seno de x, que debe estar expresado en radianes.
- tan(x) Tangente de x, que debe estar expresado en radianes.
- cos(x) Coseno de x, que debe estar expresado en radianes.
- exp(x) El numero e elevado a x.
- ceil(x) Redondeo hacia arriba de x (en ingles, ((ceiling)) significa techo).
- floor(x)  Redondeo hacia abajo de x (en ingles, ((floor)) significa suelo).
- log(x) Logaritmo natural (en base e) de x.
- log10(x)  Logaritmo decimal (en base 10) de x.
- sqrt(x)  Raız cuadrada de x (del ingles ((square root))).

Existen 3 formas de hacerlo, una de ellas es importando en cada ocasion el modulo que qeramos emplear de forma individual, pero esto es un royo, ya que cada vez que fuesemos a emplear una operacion, deveriamos de escribir

from math import log o from math import sqrt.... depende de la operacion que qeramos realizar...

Otra opcion es mediante un comando llamado math... que hace que nos ahoremos tener que escribir todo el rato lo de from math import... pero tiene el inconveniente de que despues, en cada ocasion, tendriamos que llamar a math...

Seguramente no hayan entendido estas 2 formas que les acabo de explicar... pero mejor asi, porque existe una 3º, mucho mas facli que las anteriores, (ahora se la exlico) pero antes de nada, como aqui estamos para aprender, si alguien tiene curiosidad por conocer por conocer estos dos metodos, que postee y diga que los explique, no me costara nada... tan solo q no lo e echo para no liaros, y porqe con este 3º metodo q os voy a mostrara ahora es mucho mejor.

Bueno, este metodo consiste en llamar de una vez a todos los comandos de las operaciones... para ello emplearemos:

from math import *



An visto que facil no?? pues de esa forma igual con el resto, pero ahora veamos un ejemplo con variables, es decir, en el q nosotros preguntemos el numero:

Vean el ejemplo, seguro que lo entenderan:



pues bien, con esto ya esta todo lo relacionado con las operaciones explicado xD

Pronto seguire ^^





Se buscan moderadores para www.infiernohacker.com

TxShack

Bueno, anes 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:

Citarcorto, medio, largo = 28, 30, 31
print "siete meses tienen", largo, "dias"
print "cuatro meses tienen", medio, "dias"
print "y uno que tiene", corto, "dias"



Citaredad= 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

Citarprint '¿Cómo te llamas?'
nombre = raw_input()
print 'Me alegro de conocerte,' , nombre

que hacerlo como yo os dije al principio (mas sencillo xD)

Citarnombre = 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:

Citarprint '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:

Citarprint '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 atento.

ESPERO QUE ESTEN APRENDIENDO. MAÑANA O PASADO SIGO CON EL IF Y ELSE ^^





Se buscan moderadores para www.infiernohacker.com

Ragnarok

#3
Sólo una puntualización: Hay más operadores, también está el de módulo y otro de división, yo soy muy vago para escribir posts tan largos, así que doy un link a un sitio en que vienen explicados: http://python.active-venture.com/ref/binary.html

PD: el resto no me lo he leído, sólo he visto eso de pasada.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

TxShack

No se a que te refieres con lo del modulo y lo de division.... el manual aun no lo e acabado, estoy en ello... falta mucho por explicar.

Otra cosa, el link que pones (http://python.active-venture.com/ref/binary.html) conduce a un apagina q esta en ingles... yo al menos no entiendo mucho de ingles...y no se si algun user tambien





Se buscan moderadores para www.infiernohacker.com

Ragnarok

Lo que quiero decir es sólo que esto está incompleto:

Cita de: TxShack en  7 Julio 2007, 22:33 PM
Como pudieron ver, las operaciones de las que dispondremos siempre son las de:

multiplicar *
sumar +
restar -
dividir /
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

TxShack

Cita de: Ragnarok en  9 Julio 2007, 00:13 AM
Lo que quiero decir es sólo que esto está incompleto:

Cita de: TxShack en  7 Julio 2007, 22:33 PM
Como pudieron ver, las operaciones de las que dispondremos siempre son las de:

multiplicar *
sumar +
restar -
dividir /

No, no esta incompleto... Las oeperaciones que podemos acer con python sin importaciones solo son esasa cuatro....

A continuacion, explico como importar el resto... dijate veras ^^

CitarSi queremos hacer uso de otras como por ejemplo, raiz cuadrada, nº elevado a..., logaritmo, seno, coseno etc... deveremos importar el modulo antes de escribir el comando.

Antes de continual veamos el resto de operaciones q son necesarias importar:

- in(x) Seno de x, que debe estar expresado en radianes.
- tan(x) Tangente de x, que debe estar expresado en radianes.
- cos(x) Coseno de x, que debe estar expresado en radianes.
- exp(x) El numero e elevado a x.
- ceil(x) Redondeo hacia arriba de x (en ingles, ((ceiling)) significa techo).
- floor(x)  Redondeo hacia abajo de x (en ingles, ((floor)) significa suelo).
- log(x) Logaritmo natural (en base e) de x.
- log10(x)  Logaritmo decimal (en base 10) de x.
- sqrt(x)  Raız cuadrada de x (del ingles ((square root))).

Existen 3 formas de hacerlo, una de ellas es importando en cada ocasion.........





Se buscan moderadores para www.infiernohacker.com

Ragnarok

Te digo que está incompleto, falta módulo % y floor division, que es la división redondeada a cero, y que se expresa con el operador //.

Lo pone en la página que dí, aunque no sepas inglés podrías haber visto los dos operadores % y // que están expresados en una gramática BNF, que no es inglés ni español.

Además estos son sólo los operadores aritméticos binarios, quedarían los unarios +, - y ~ además de todos los operadores no aritméticos, a los que supongo que dejas fuera al decir "operaciones". Aquí puede leerse más: http://python.active-venture.com/ref/expressions.html

Aprovecho para aconsejar aprender inglés antes que python, puesto que es un lenguaje más útil, sobre todo por las facilidades que da para aprender los lenguajes de programación que nos propongamos posteriormente.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

Meta

Menudo turorial del Pythonazo.

Ya que lo voy a  dar en un curso de Web, me viene bien.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

TxShack

Gracias por la informacion Ragnarok, lo mirare haber...

E estado de vacaciones y por eso no e podido continuar el manual... para mañana o pasado tendre la siguiente parte.

Un saludo

TxShack





Se buscan moderadores para www.infiernohacker.com