ESTO NO ES UN TUTORIAL. ESTOY NARRANDO COMO ESCRIBO UNA CALCULADORA EN PYTHON. SI VIENES A APRENDER, SAL DE AQUÍ.
8:00PM
Con conocimientos terriblemente básicos de Python 2, me puse una pequeña meta:
¡CREAR UNA CALCULADORA!
Algo que para algunos programadores puede ser pan comido, a mi se me dificulta bastante.
Escribí las primeras líneas de código:
# Primer intento de calculadora en Python.
# Necesitamos: raw_input, vars, defs, y una persona.
prompt = '> '
print "Hola! Bienvenido a la calculadora basica! \n"
print "Necesito que escribas dos numeros, y luego
num1 = raw_input(prompt)
num2 = raw_input(prompt)
Me dí cuenta de que era un jaleo hacerlo así, entonces borré todo y empecé de nuevo.
def add(a, b):
return a + b
def sub(a, b):
return a - b
def mul(a, b):
return a * b
def div(a, b):
return a / b
prompt = '> '
print """Bienvenido a la calculadora basica.
Para usar esta calculadora, debes seleccionar dos numeros y al final elegir si quieres:
sumar (+), restar (-), multiplicar (*) o dividir (/)
"""
print "Ahora, debes seleccionar dos numeros."
a = raw_input(prompt)
print "Bien, el primer numero sera:", a
print "Y el segundo va a ser:"
b = raw_input(prompt)
print "Bien, el numero ", b
Había recordado uno de mis ejercicios anteriores, donde usaba operatoria de números entre def's y vars.
Pero ahora falta lo más importante:
¿COMO VAN A ELEGIR LAS OPERACIONES MATEMÁTICAS?
Bien, tendré que pensarlo un rato.
8:33PM
Creo que seguiré leyendo mi libro de Python, y cuando tenga algo, sigo con la calculadora.
saludos.
:p
@z0mb1es (https://underc0de.org/foro/index.php?action=profile;u=80125)
Hola!
Hola amigo, Te cree un script de python (para sumar, restar, multiplicar y dividir por medio de consola, espero te guste)
# -*- coding: utf-8 -*-
# de el modulo time quiero que importe sleep para hacer una pause en un periodo de tiempo determinado
from time import sleep
# Created by: DtxdF
# Hola: z0mb1es
# Script: calc.py
# Crearemos una clase llamada operadora para definir los valores y la operacion
# Si necesitas colocar
class operadora:
def __init__(self, num1, num2):
self.num1 = int(num1)
self.num2 = int(num2)
def suma(self):
return self.num1+self.num2
def resta(self):
return self.num1-self.num2
def division(self):
return self.num1/self.num2
def multiplicacion(self):
return self.num1*self.num2
# Aqui solo coloco las variables para el menu de ayuda a mostrar
help_main = {"1":"Suma","2":"Resta","3":"Division","4":"multiplicacion"}
print "\n"
print "Calculadora:"
print "Creado por DtxdF para ayudar a: z0mb1es ..."
print "Hola: https://underc0de.org\n"
for a,b in help_main.items():
print "[%s] \t-\t [%s]" % (a,b)
print "\nUso: Use la variable seguido de los valores, Ejemplo: suma 45 45\n"
while True:
try:
debug = raw_input(">>>")
if not debug:
continue
if debug.split()[0].lower() == 'suma':
numero1 = int(debug.split()[1])
numero2 = int(debug.split()[2])
print "Resultado: %s" % str(operadora(numero1,numero2).suma())
elif debug.split()[0].lower() == 'resta':
numero1 = int(debug.split()[1])
numero2 = int(debug.split()[2])
print "Resultado: %s" % str(operadora(numero1,numero2).resta())
elif debug.split()[0].lower() == 'division':
numero1 = int(debug.split()[1])
numero2 = int(debug.split()[2])
print "Resultado: %s" % str(operadora(numero1,numero2).division())
elif debug.split()[0].lower() == 'multiplicacion':
numero1 = int(debug.split()[1])
numero2 = int(debug.split()[2])
print "Resultado: %s" % str(operadora(numero1,numero2).multiplicacion())
else:
print "No se a encontrado el operador"
except KeyboardInterrupt:
print "CTRL-C, Saliendo ..."
sleep(3.5)
quit()
except ValueError:
print "El valor tiene que ser numerico"
except IndexError:
print "Hace falta un valor en alguna variable"
except EOFError:
print "Tecla invalida"
except Exception as a:
print("Error: "+str(a))
El uso es facil:
* - suma numero1 numero2
* - resta numero1 numero2
* - division numero1 numero2
* - multiplicacion numero1 numero2
# A penas leí este post cree una mini-calculadora para que te ayude en la programacion
# Espero te sirva
# Lo subi a github por si quieres descargarlo o ver mas herramientas: https://github.com/DtxdF/Calc
- DtxdF
Gracias a ambos por mostrar su código, es bueno para practicar :D
Un código sencillo y facil. Perfecto para practicar, se podria sintetizar aun mas con funciones y ponerle mas funcionalidades pero esta bastante bien así.
Buenas compañero! sé que @DtxdF (https://underc0de.org/foro/index.php?action=profile;u=71723) te compartió su código, pero te quiero compartir el mío, para que puedas ver las diferente formas que hay de hacer una:
# -*- coding: utf-8 -*-
#
# Creador: Prudence Suspect
# Script: calculador basica
import os
import sys
def operaciones(opcion):
numero1 = input(" [-] Ingrese numero: ")
numero2 = input(" [-] Ingrese otro numero: ")
if(opcion=="1"):
sumar = lambda x,y: x + y;
print "\n [+] El resultado es: {0}".format(sumar(numero1,numero2))
elif(opcion=="2"):
restar = lambda x,y: x - y;
print "\n [+] El resultado es: {0}".format(restar(numero1,numero2))
elif(opcion=="3"):
multiplicar = lambda x,y: x * y;
print "\n [+] El resultado es: {0}".format(multiplicar(numero1,numero2))
elif(opcion=="4"):
division = lambda x,y: x / y;
print "\n [+] El resultado es: {0}".format(division(numero1,numero2))
def banner():
imagen = """
___ _ _ ___ _ _ _ _ ___ ___ ___ _
/ __| /_\ | | / __| | | | | /_\ | \ / _ \| _ \ /_\
| (__ / _ \| |_| (__| |_| | |__ / _ \| |) | (_) | / / _ \
\___/_/ \_\____\___|\___/|____/_/ \_\___/ \___/|_|_\/_/ \_\
Created by: Prudence Suspect
"""
print(imagen)
def menu():
os.system("clear")
banner()
opciones = """
1) Sumar
2) Restar
3) Multiplicar
4) Dividir
5) Salir
"""
print(opciones)
ingresar = raw_input(" >>> ")
while(True):
os.system("clear")
banner()
if(ingresar=="1"):
operaciones(ingresar)
raw_input("\n\n Presione una tecla para continuar...")
menu()
elif(ingresar=="2"):
operaciones(ingresar)
raw_input("\n\n Presione una tecla para continuar...")
menu()
elif(ingresar=="3"):
operaciones(ingresar)
raw_input("\n\n Presione una tecla para continuar...")
menu()
elif(ingresar=="4"):
operaciones(ingresar)
raw_input("\n\n Presione una tecla para continuar...")
menu()
elif(ingresar=="5"):
os.system("clear")
sys.exit()
menu()
Bueno, no es profesional, pero sirve. Saludos!