Creación de una Calculadora

Iniciado por z0mb1es, Junio 17, 2018, 09:38:07 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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:
Código: python
# 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.

Código: python
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

Public Yy As String = "\z0mb1es RAT\."
         Public HOST As String = "101.110.010.111"
              Public port As Integer = 8989
                                    Public cap As New CRDP

Julio 07, 2018, 03:46:32 PM #1 Ultima modificación: Julio 07, 2018, 04:08:21 PM por DtxdF
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Hola!

Hola amigo, Te cree un script de python (para sumar, restar, multiplicar y dividir por medio de consola, espero te guste)

Código: python
# -*- 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: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

- DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ 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í.
-Los reyes y las reinas decapitan cuando los peones aprenden a leer.

Buenas compañero! sé que @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login te compartió su código, pero te quiero compartir el mío, para que puedas ver las diferente formas que hay de hacer una:

Código: text

# -*- 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!