[PYTHON] Me gustaría hacer una calculadora con Python y necesito ayuda


Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Bien, lo que quiero hacer es esto:

Código:
from time import sleep

print("CALCULADORA")
print("")

r1 = input("Di un número: ")

r2 = input("Di otro número: ")

sleep(2)

r3 = r1 + r2

print(r3)

Esto me da los dos números juntos, no la suma, lo mismo si hago print(r1 + r2)

dfaf57fdf3b5f7821e760f74999755e1.png


Alguien sabe como podría hacer esto? Si de paso me decís como hacerlo con restas, multiplicaciones etc perfecto, aunque supongo que será lo mismo que con cualquier operación básica.
Gracias de antemano.

(Aclaro que lo que quiero es que se sumen/resten/multipliquen o dividan los dos números que se han dado.)


CÓDIGO DEFINITIVO:
Código:
from time import sleep

print("CALCULADORA")
print("")

for x in range(6,38):

    r1 = int(input("Primer número: "))
    print("")

    operacion = str(input("| + | - | / | * |: "))
    print("")

    r2 = int(input("Segundo número: "))
    print("")

    print(r1, operacion, r2, "=")

    print("")

    sleep(1)

    if operacion == "+":
        suma = r1 + r2
        print(">", suma , "<")
        print("")

    elif operacion == "-":
        resta = r1 - r2
        print(">", resta , "<")
        print("")

    elif operacion == "/":
        division = r1 / r2
        print(">", division , "<")
        print("")

    elif operacion == "*":
        multiplicacion = r1 * r2
        print(">", multiplicacion , "<")
        print("")

    else:
        print("La operacion introducida es incorrecta. Por favor introduzca +, -, / o *.")

(Dejo el archivo python adjunto)
 
Última edición:
  • Like
Reacciones : AB270

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
@Gaser te menciono que te veo conectado, a ver si sabes responderme.

Quiero hacer un script que yo que se, te de unas 100 sumas, y al terminar la última, te diga el tiempo transcurrido desde que has empezado, sería posible?

(Por ejemplo, start1 = input("Escribe algo para empezar: ")

cronometro = start.time, end.time (me he inventado esto)

input("2+2: )
input("2+2: )
input("2+2: )
input("2+2: )

print(cronometro)

Sabrías como hacer esto? en "cronometro" debe salir el tiempo total transcurrido desde que ha respondido al "start1" hasta que ha hecho el último input.
 

mtz0

Hablar de más indica mucha ignorancia.
Noderador
Nodero
Noder
Lo pillo, intentaré hacerlo por mi mismo, en plan, sin copia y pega ni nah, a ver si me sale. (En que se diferencia "elif" y "if"?
if -> Si se cumple X condición.
elif -> Y si no se cumple "if" evalúa si se cumple esta otra condición (sirve para evaluar más de dos casos).
else -> Si ninguna se cumple, haz esto otro.
 
  • Like
Reacciones : Dark

mtz0

Hablar de más indica mucha ignorancia.
Noderador
Nodero
Noder
@Gaser te menciono que te veo conectado, a ver si sabes responderme.

Quiero hacer un script que yo que se, te de unas 100 sumas, y al terminar la última, te diga el tiempo transcurrido desde que has empezado, sería posible?

(Por ejemplo, start1 = input("Escribe algo para empezar: ")

cronometro = start.time, end.time (me he inventado esto)

input("2+2: )
input("2+2: )
input("2+2: )
input("2+2: )

print(cronometro)

Sabrías como hacer esto? en "cronometro" debe salir el tiempo total transcurrido desde que ha respondido al "start1" hasta que ha hecho el último input.
Para eso supongo que deberás importar algún módulo rollo time o algo así, busca en San Google.
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Si si, estoy probando com time.time(), a ver que encuentro.
@Gaser te menciono que te veo conectado, a ver si sabes responderme.

Quiero hacer un script que yo que se, te de unas 100 sumas, y al terminar la última, te diga el tiempo transcurrido desde que has empezado, sería posible?

(Por ejemplo, start1 = input("Escribe algo para empezar: ")

cronometro = start.time, end.time (me he inventado esto)

input("2+2: )
input("2+2: )
input("2+2: )
input("2+2: )

print(cronometro)

Sabrías como hacer esto? en "cronometro" debe salir el tiempo total transcurrido desde que ha respondido al "start1" hasta que ha hecho el último input.
Vale, he conseguido esto:

Código:
import time
input("di algo: ")
tiempo = time.time()
input("2+2: ")
tiempo1 = time.time()
print("Has tardado: ", tiempo1 - tiempo, "segundos.")

Pero da muchos decimales, en plan, dice "1.02412412512 segundos", sabéis como redondear este resultado?
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Vale, he conseguido esto:

Código:
import time
input("di algo: ")
tiempo = time.time()
input("2+2: ")
tiempo1 = time.time()
print("Has tardado: ", tiempo1 - tiempo, "segundos.")

Pero da muchos decimales, en plan, dice "1.02412412512 segundos", sabéis como redondear este resultado?
Vale HAHAHAHHA, ya he encontrado, es con el round()
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Claro, ASIR es como SMR pero más dificil, acabas poniendo fibra, routers y de atención al cliente xdddd.
Vete a DAM.
No si aún ni estoy haciendo SMR, ya veré que quiero hacer, pero me interesa meterme en el mundo de la Ciberseguridad, y en Asir se da Ciberseguridad. (Al menos en uno de los instis que quiero ir)
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Código:
operación =
    value = random.randint(1,10)
    value1 = random.randint(1,10)
    print(value, "+", value1)
    input("= "):

operación

operación

Alguien sabe si hay alguna manera de hacer esto? Para ahorrarme poner el código entero de cada operacion repetidas veces.
 

HxckzLxb2

Con el miembro muy activo
Noder
Código:
operación =
    value = random.randint(1,10)
    value1 = random.randint(1,10)
    print(value, "+", value1)
    input("= "):

operación

operación

Alguien sabe si hay alguna manera de hacer esto? Para ahorrarme poner el código entero de cada operacion repetidas veces.
Con funciones:

Código:
def sumar():
    value = random.randint(1,10)
    value1 = random.randint(1,10)
    print(value + "+" + value1 + "=" + (value+value1))
 

Dark

🔥root313🔥
Staff
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder Pro
Noder
Con funciones:

Código:
def sumar():
    value = random.randint(1,10)
    value1 = random.randint(1,10)
    print(value + "+" + value1 + "=" + (value+value1))

Ya he encontrado la solución:

Código:
for x in range(10):
    value = random.randint(1,10)
    value1 = random.randint(1,10)
    print(value, "+", value1)
    input("= ")

en for x in range(x): pongo la cantidad de veces que quiero que se repita y ya.
 

HxckzLxb2

Con el miembro muy activo
Noder
Ya he encontrado la solución:

Código:
for x in range(10):
    value = random.randint(1,10)
    value1 = random.randint(1,10)
    print(value, "+", value1)
    input("= ")

en for x in range(x): pongo la cantidad de veces que quiero que se repita y ya.
Ah, que querías que se repitiera, no te había entendido.
Prueba esto:
Código:
x = int(input(Cuántas veces repetimos? ))
for i in range(x):
    """Código"""