Ejercicio 1, Pequeña calculadora.

Hola a tod@s de nuevo, bueno, esto no es un post normal y corriente, sino que cada x tutoriales, para que vayáis practicando y hacer mas ameno lo que os estoy enseñando, voy a proponer ejercicios.

En esta ocasión y al ser el primer ejercicio, va a ser algo muy sencillo, una calculadora, con que sume, reste multiplique y divide va bien, con la condición de que se deben usar funciones, tan sólo eso, los códigos se escriben en los comentarios de abajo, el mejor código sera puesto en este post.

Bueno chic@s, después de analizar los dos códigos que habéis posteado en los comentarios, voy a poner aquí el código ganador, en realidad, ambos habéis ganado por que habéis aprendido cosas en python, bueno, después de pensarlo, el código que mas me gusta seria el de: Ivan gómez, ya que me parece un código muy limpio, lo que no me gusta es que no a usado return, que es un concepto muy importante en las funciones y que no tiene un input() para elegir los números, pero me parece un código muy limpio para empezar.

Código tabulado:

def suma(valor1,valor2):
       su=valor1+valor2
       print valor1,"+",valor2,"=",su
def resta(valor1,valor2):
       re=valor1-valor2
       print valor1,"-",valor2,"=",re
def multi(valor1,valor2):
       mu=valor1*valor2
       print valor1,"*",valor2,"=",mu
def division(valor1,valor2):
       divi=valor1/valor2
       print valor1,"/",valor2,"=",divi

print "===calculadora==="
print "1) suma"
print "2) resta"
print "3) multiplicacion"
print "4) division"
option=raw_input("Elige la operacion a realizar: ")

if option=="1":
      suma(6,4)

if option=="2":
      resta(9,4)

if option=="3":
      multi(2,8)

if option=="4":
     division(9,3)



yo lo ajustaría así:

def suma(valor1,valor2):
       return valor1+valor2
def resta(valor1,valor2):
       return valor1-valor2
def multi(valor1,valor2):
       return valor1*valor2
def division(valor1,valor2):
       return valor1/valor2

print "===calculadora==="

print "1) suma"
print "2) resta"
print "3) multiplicacion"
print "4) division"
option=raw_input("Elige la operación a realizar: ")

if option=="1":

      print suma(input("escribe el primer valor"), input("escribe el segundo valor"))

if option=="2":

      print resta(input("escribe el primer valor"), input("escribe el segundo valor"))

if option=="3":

      print multi(input("escribe el primer valor"), input("escribe el segundo valor"))

if option=="4":

     print division(input("escribe el primer valor"), input("escribe el segundo valor"))


Un saludo a tod@s y hasta el próximo post.



10 comentarios:

Anónimo dijo...

def suma ( num1, num2):
return num1 + num2

def resta (num1, num2):
return num1 - num2

def multiplicacion(num1, num2):
return num1 * num2

def division(num1, num2):
if num2 <> 0 :
return num1 / num2
else:
return "No se puede dividir por 0"


print """###### Menu #########
1) - Suma.
2) - Resta.
3) - Multiplicacion
4) - Division
5) - Salir
Tu Opcion -->"""


while True:
opcion=raw_input()
try:
if opcion == "1":
numero1=int(raw_input("Ingrese el 1er numero"))
numero2=int(raw_input("Ingrese el 2do numero"))
print suma(numero1,numero2)
if opcion == "2":
numero1=int(raw_input("Ingrese el 1er numero"))
numero2=int(raw_input("Ingrese el 2do numero"))
print resta(numero1,numero2)
if opcion == "3":
numero1=int(raw_input("Ingrese el 1er numero"))
numero2=int(raw_input("Ingrese el 2do numero"))
print multiplicacion(numero1,numero2)
if opcion == "4":
numero1=int(raw_input("Ingrese el 1er numero"))
numero2=int(raw_input("Ingrese el 2do numero"))
print division(numero1,numero2)
if opcion == "5":
"Salimos"
break
except ValueError:
print "Ingresa un numero"



Saludos , aca esta mi pequeño codigo.
Creo que no toma el indentado la pagina.

Dr Coloso dijo...

Recien estaba buscando como poner el codigo mejor y encontre esta pagina fijate si te sirve.


http://codeformatter.blogspot.com.ar/

Francisco Dominguez Lerma dijo...

Buen aporte Dr Coloso, y gracias por comentar.

Francisco Dominguez Lerma dijo...

Hola anónimo, me a gustado mucho tu código, pero, no lo escribas de esa forma, haz indexaciones por que si no el código esta mal, ya se que aquí en los comentarios no puedes hacer tabulaciones, crea 5 o 6 espacios en su lugar, pero no lo dejes así.

Pero le veo cosas que no son necesarias, a ver, si usas print así como una palabra clave del lenguaje y no como una función, doy por sentado que usas python 2.x, por que si no te daría error, y entonces.... ¿Para que haces int(raw_input())? El raw_input() dentro de una función int() se usa para emular el input() de python 2.x, es decir, que solo se usa en python 3.x, sustituye "int(raw_input("Ingrese el 1er numero"))" por "input("Ingrese el 1er numero")".

Ya se que el código no te da error, pero es una muy mala práctica, es como ir a un sitio dando rodeos en vez de en linea recta.

De todas formas esta bastante bien no me esperaba un código tan bueno y gracias por comentar, un saludo.

Dr Coloso dijo...

Gracias por el comentario sobre el codigo, lo voy a tener muy en cuenta, hace mucho que no programaba en python. Te sigo leyendoooo.
Saludos

Anónimo dijo...

def suma(valor1,valor2):
su=valor1+valor2
print valor1,"+",valor2,"=",su
def resta(valor1,valor2):
re=valor1-valor2
print valor1,"-",valor2,"=",re
def multi(valor1,valor2):
mu=valor1*valor2
print valor1,"*",valor2,"=",mu
def division(valor1,valor2):
divi=valor1/valor2
print valor1,"/",valor2,"=",divi

print "===calculadora==="
print "1) suma"
print "2) resta"
print "3) multiplicacion"
print "4) division"
option=raw_input("Elige la operacion a realizar: ")

if option=="1":
suma(6,4)

if option=="2":
resta(9,4)

if option=="3":
multi(2,8)

if option=="4":
division(9,3)

IvanosKoff dijo...

def suma(valor1,valor2):
su=valor1+valor2
print valor1,"+",valor2,"=",su
def resta(valor1,valor2):
re=valor1-valor2
print valor1,"-",valor2,"=",re
def multi(valor1,valor2):
mu=valor1*valor2
print valor1,"*",valor2,"=",mu
def division(valor1,valor2):
divi=valor1/valor2
print valor1,"/",valor2,"=",divi

print "===calculadora==="
print "1) suma"
print "2) resta"
print "3) multiplicacion"
print "4) division"
option=raw_input("Elige la operacion a realizar: ")

if option=="1":
suma(6,4)

if option=="2":
resta(9,4)

if option=="3":
multi(2,8)

if option=="4":
division(9,3)

IvanosKoff dijo...

Hola descubri tu blog a traves del post del foro del hacker y me gusto mucho tu pagina.Estoy siguiendo tus manuales y he intentado hacer la calculadora :) Agradeceria que cualquier cosita que se pueda corregir me comentases

salu2 y norabuena por el blog me gusta mucho como has enfocado el "tutorial"

Francisco Dominguez Lerma dijo...

Hola ivan, gracias por tu comentario y bienvenido a mi blog, espero que sea de tu agrado.

tuus dijo...

Hola!

Me he puesto ha seguir los tutoriales, me gustan como están escritos.

Pego mi código por si alguien le puede servir:


#Calculadora

def TomaDatos():

nums=[0,0]
nums[0]=input("Introduce el primer numero: ")
nums[1]=input("Introduce el segundo numero: ")

return nums

def suma(nums):

return(nums[0]+nums[1])

def resta(nums):

return(nums[0]-nums[1])

def division(nums):

return(nums[0]/nums[1])

def multiplica(nums):

return(nums[0]*nums[1])

numeros=TomaDatos()

print "El primer numero es",numeros[0]
print "El segundo numero es",numeros[1]

print numeros[0],"mas",numeros[1],"=",suma(numeros)
print numeros[0],"menos",numeros[1],"=",resta(numeros)
print numeros[0],"entre",numeros[1],"=",division(numeros)
print numeros[0],"por",numeros[1],"=",multiplica(numeros)



input()