miércoles, 11 de febrero de 2009

Tutorial Python 1

Buenas, hoy dejo un tutorial en el que explicaré algunos elementos de Python para un programa. El ejemplo que haremos será una calculadora e iré explicando lo que se va haciendo.

Primero de todo nos descargamos Python:


Como nota deciros que se puede programar tanto en la consola (cmd, terminal etc.) como en un archivo de texto, lo cual es lo que haremos. La consola podréis usarla para probar funciones y ver si os tira error, es bastante útil.

Por último, decir que un programa en Python no hace falta que este compilado, ya que este es interpretado. Sencillamente cuando guardemos el archivo de texto lo hacemos con extensión ".py" y será reconocido como archivo Python y se abrirá con este.

Dicho esto empezamos con nuestro primer programa:

Calculadora en Python

Primero de todo decir que para los usuarios de Linux añadáis este code en la primera línea del archivo, para los de Windows es opcional:


#!/usr/bin/python


Lo primero que haremos es definir una función, esto se hace de forma sencilla:


def nombre_de_la_funcion(parametros):


def: Esto es obligatorio para todas las funciones, con esto ya definimos que lo que sigue es una función. Acabar siempre de definirla con ":" sino tirara error. Decir que para llamar a una función se hace así:


nombre_de_la_función(parámetros)


nombre_de_la_función: Este será el nombre que nosotros le daremos y con el cual Python lo reconocerá.

(parámetros): Los paréntesis son obligatorios haya o no parámetros en la función. Con parámetros me refiero a variables que usará la función pero son definidas fuera de esta. Y cada parámetro será separado por una coma. Mas adelante entenderán mejor.

Quedaría para nuestro caso así:


def
dividir(x,y):


Bien, ahora todo lo que vaya dentro de la función tendrá que estar identado (pulsar TAB y lo identareis).

Lo que haremos ahora es decirle a la función lo que queremos que haga:


def
dividir(x,y):
x = float(x)
y = float(y)
if y == 0:
print "No se puede dividir entre 0"
else:
division = x / y
print division


def dividir (x,y): De aquí tan solo decir que los parámetros que tenemos dicen que las variables, palabras... que pongamos en sus lugares se convertirán en "x" e "y". Por ejemplo:

dividir(6,12)

Esta llamada hará que 6 se convierta en "x" y 12 se convierta en "y". Espero se entienda.

x = float(x): Guardará en la variable x(nombre a vuestra elección), la variable x que hallamos añadido como parámetro pero en forma de coma flotante, es decir; aceptando decimales. En otro tutorial aclararé los tipos que maneja Python. Tened en cuenta que para definir una variable lo hacemos con un "=".

y = float(y): Ídem a la anterior.

if y == 0: Esto es una condición, lo que vaya como condición también ha de estar identado. Aquí decimos que si la variable "y" guarda un 0 entonces saltara la condición. Decir que las condiciones se hacen con dos "==" y ":" al final. Queda esto pendiente para otro tutorial.

print "No se puede dividir entre 0": La palabra "print" hace que lo siguiente que venga se imprima en pantalla, que el usuario lo vea. Lo que venga a continuación se inserta entre comillas si es una frase, palabra... si fuese una variable no haría falta, y opcionalmente con los números.

else: Esto es parte de la condición, no es obligatorio ponerlo en todos los programas. En este caso pusimos como condición que "y" sea igual que 0, entonces lo que haya dentro de "else:" saltara si la condición no se cumplió, en el caso de que "y" sea diferente a 0.

division = x / y: aquí decimos que la variable división guarde la división realizada entre"x" e "y"

print division: que imprima en pantalla lo que haya en la variable division. Como veis, al tratarse de una variable no hace falta ponerla entre comillas, es mas; si lo hiciésemos nos mostraría la palabra "División" y no lo que contiene esa variable.

Bien, ahora un ultimo código para terminar una base del programa y después probar si funciona:


def main():
primero = raw_input("Primer numero: ")
segundo = raw_input("Segundo numero: ")
operacion = raw_input("Elija la operacion: ")
if operacion == "/":
dividir(primero,segundo)
elif operacion == "salir":
exit()
else:
print "Introdujo algo no valido"
raw_input()
exit()


def main(): Definimos nuestra nueva función, esta ya va fuera de la otra así que pegadita al borde.

primero = raw_input("Primero numero: "): Como veis hemos declarado una variable, pero nosotros no decidimos que valor tendrá, sino el usuario, esa es la función de "raw_input("Primer numero: "), lo que hace es parar el programa, mostrar el mensaje que hay entre comillas (opcional) y finalmente lo que teclee el usuario antes de pulsar enter pasara a formar parte de la variable "primero".

segundo = raw_input("Segundo numero: "): ídem a la anterior.

operacion = raw_input("Elija la operacion: ") : aquí es donde el usuario decidirá que hacer con los dos números alojados en "primero" y "segundo"

if eleccion == "/": Condición que salta si lo que hay en "operacion" es el carácter "/" sin las comillas.

dividir(primero,segundo): llamamos a la función "Divivdir" y ponemos como parámetros "primero" en el lugar de "x" y "segundo" en el lugar de "y".

elif eleccion == "salir": Esto lo puse como ejemplo. Como veis esto indicia una segunda condición, si la primera no es valida pasara a la siguiente así hasta que se encuentre con un "else". Puede haber tantos "elif" como se quiera, pero siempre encabezados por un "if" y terminados por un "else".

exit(): Decimos que salga del programa, al no necesitar parámetros pues dejamos los paréntesis vacíos.

else: Si no se cumple ninguna condición pues saltara lo siguiente.

print "Introdujo algo no valido": imprime en pantalla el texto entre comillas"

raw_input(): al no estar como valor de una variable lo único que hace es parar el programa hasta que se pulse enter.

exit(): ya esta explicado.

Y el final del código, para que empiece por la función main():


if __name__ == "__main__": main()


Como veis es una condición que no tiene else, se puede hacer. Explico: lo que hace es saltar si “__name__” (interno ya por Python) es igual a "__main__" lo que le dice a Python que no hubo error. Entonces si se cumple saltara la condición y se abrirá main() o la función que hayáis dicho que se abra. En caso de no cumplirse la condición, el programa tirara error.

Pues ya esta este es un ejemplo, algo extenso pero como es básico toco explicar muchas cosas, iremos mas rapiditos a la próxima, como ejercicio podríais añadir funciones para que hiciese suma, resta y multiplicación, siendo estos interpretados por Python como +, - y * respectivamente.

Dejo el código completo y seguid aprendiendo:


def dividir(x,y):
x = float(x)
y = float(y)
if y == 0:
print "No se puede dividir entre 0"
else:
division = x / y
print division

def main():
primero = raw_input("Primer numero: ")
segundo = raw_input("Segundo numero: ")
operacion = raw_input("Elija la operacion: ")
if operacion == "/":
dividir(primero,segundo)
elif operacion == "salir":
exit()
else:
print "Introdujo algo no valido"
raw_input()
exit()

if __name__ == "__main__": main()

Si teneis alguna duda intentaré solucionarla.

Podeis descargar el código --> Aquí

No hay comentarios:

Publicar un comentario