Mis primeros pasos en Python

Tenia muchisimo tiempo con el proyecto de aprender a programar en Python y ahora que estoy estudiando de lleno ingenieria de software creo que es la mejor oportunidad para empezar.

En este semestre estudiamos la programacion orientada a objetos, classes, metodos y muchisimas cosas en Java y creo que ha sido una gran idea hacerlo en un lenguaje que resulta ser un poco más complicado que otros.

Hoy aprovechando que es viernes y ya prácticamente me he liberado de tareas decidi hacer mi primer programa, ésta no es una entrada tecnica… mas bien observaciones que hice mientras codificaba.

Hice un programa, el cual se parece a un proyecto final del semestre pasado, que consistia en una aplicacion que en base a la opcion que teclee el usuario haria una operacion.. aunque en aquel entonces era una especie de base de datos (usando arreglos)  que agregaba, editaba y eliminaba un nombre dado… (claro, lo intentare hacer poco a poco), pero por ahora es una simple calculadora que te da un menu de 5 opciones ( sumar, restar, multiplicar,dividir y salir) y dependiendo de la opcion tecleada es la funcion.

Si, es muy simple lol, pero asi se empieza :D!

Aqui el codigo:

#Programa (o algo asi..) que calcula el valor de 2 numeros segun la operacion elegida
#si, estoy aprendiendo python
#Este fue mi proyecto final cuando lleve programacion I
#...y lo hice en Java

#Author: Rafael Carrillo
#Web: http://rafuru.blogspot.com

def despliegaMenu():
print"Eliga una opcion del menu"
print "1) Sumar 2 Numeros"
print "2) Restar 2 Numeros"
print "3) Multplicar 2 numeros"
print "4) Dividir 2 numeros"
print "5) Salir"
op=int(raw_input("Haz tu seleccion: "))
return op
#Suma dos numeros dados por sus parametros
#@param a,b enteros
#returns c resultado de la operacion
def suma():
a= int(raw_input("Introduce el Primer Numero: "))
b= int(raw_input("Introduce el segundo numero: "))
c=a+b
print "La suma de ",a," + ",b," es ",c
raw_input ("Presiona enter para continuar")
print"nn ---------------------------------"
inicio()
#Resta dos numeros dados por sus parametros
#@param a,b enteros
#returns c resultado de la operacion
def resta():
a= int(raw_input("Introduce el Primer Numero: "))
b= int(raw_input("Introduce el segundo numero: "))
c=a-b
print "El residuo de ",a," - ",b," es ",c
raw_input ("Presiona enter para continuar")
print"nn ---------------------------------"
inicio()
#Multiplica dos numeros dados por sus parametros
#@param a,b enteros
#returns c resultado de la operacion
def multiplica():
a= int(raw_input("Introduce el Primer Numero: "))
b= int(raw_input("Introduce el segundo numero: "))
c=a*b
print "El producto de ",a," * ",b," es ",c
raw_input ("Presiona enter para continuar")
print"nn ---------------------------------"
inicio()

#Divide dos numeros dados por sus parametros solo si el segundo numero no es 0
#@param a,b enteros
#returns c resultado de la operacion
def divide(a,b):
a= int(raw_input("Introduce el Primer Numero: "))
b= int(raw_input("Introduce el segundo numero: "))
if b==0:
print "Division entre 0"
raw_input("Presiona Enter para continuar")
despliegaMenu()
return
c=a/b
print "La division de ",a," / ",b," es ",c
raw_input ("Presiona enter para continuar")
print"nn ---------------------------------"
inicio()

def inicio():
op=despliegaMenu()
if op==1:
suma()
if op==2:
resta()
if op==3:
multiplica()
if op==4:
divide()
if op==5:
print "Gracias por usar la calculadora... saliendo"
exit


print "--------------------Calculadora-----------------------n"
print "Menu:n"
inicio()

Como dije no es un documento técnico, pero me di cuenta de :
En una clase __init__ primero se deben definir las funciones y luego se puede trabajar en ello , y tiene mucha logica.. aunque en java uno define metodos y puede realizar un metodo main dentro de una clase y fuera del metodo main (mas abajo) definir metodos que el metodo main puede usar.

Python no permite (al menos hasta lo que me he dado cuenta) introducir letras con acento.. nisiquiera en los comentarios o en los mensajes que se imprimen porque al compilar tira una excepcion.

La estructura if es simple pero clara, mientras en C o Java acostumbramos que el if vaya seguido de un parentesis y un par de llaves que delimitan la condicion, en python no existe esto, el if no lleva parentecis para la condicion ni llaves, pero si es necesario tabular el codigo dentro del if, es decir algo asi:
if condicion:
    instrucciones


Y la primer linea sin tabular despues del bloque de instrucciones se considera como el fin del if.. simple no?

Esto de hecho hace que el codigo sea mas limpio y entendible ^^

Si alguien me puede hacer sugerencias para trabajar con éste fantastico lenguaje con gusto las acepto!! .. estoy usando Eclipse con PyDev, si si si .. los ide’s bla bla .. Pero me gusta mucho trabajar con eclipse para java y aprovechando el plugin de python pues que mejor =D.

Anuncios

Cuentanos tu reaccion

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s