import os
k1 = """
"""
"""Para el siguiente ejercicio documentar con:
Título
Autor
Fecha
Dividir las partes del programa como quitar el salto de linea en un
Realizar los cometarios necesarios que explique lo que hace cada parte del programa
mostrar un menú con:
Las 4 operaciones ( + - * /)
Verifique los datos para que las operaciones sean validos
El siguiente programa presenta un menú con didtintas operaciones a realiza:
Se comienza por elegir la operación a realizar y se repite esta a hasta dar una respuesta 'N' para no continuar o cometer 3 equivocaciones. Luego elñ usuario puede reelegir operación y comenzar un nuevo ciclo o retirarse de el programa con las respuesta adecuada"""
menu = ["1","2","3","4","5","6","7","8"]
fprog=[]
operandos=[]
cuenta = 0.0
cuentavalor = 0
selector = "S"
while selector.upper() == "S":
os.system("clear")
n1 = " "
n2 = " "
contador = 0
print (f"{k1}")
k2 = input ("Seleccione una operación: ")
#================================ SUMA ==========================================
if k2 == "1" or k2 == "+":
# Agrega a la lista de funciones la operación de suma
fprog.append("+")
suma = 0.0
print (" Suma")
while not (n1.isdigit()) or n1.upper() == "N":
n1=input("Ingrese un numero o 'N' para salir: %8.2f " % (suma))
if n1 == "n" or n1 == "N":
break
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
contador = contador + 1
print (contador)
if vlogic == True:
suma = suma + n2
print("El resultado es: %.2f" %(suma))
#================================ RESTA ==========================================
if k2 == "2" or k2 == "-":
# Agrega a la lista de funciones la operación de resta
fprog.append("-")
cuentavalor = 1
resta = 0.0
print (" Diferencia")
while not (n1.isdigit()) or n1.upper() == "N":
n1=input("Ingrese un numero o 'N' para salir: %8.2f " % (resta))
if n1 == "n" or n1 == "N":
break
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
contador = contador + 1
print (contador, resta)
if vlogic == True:
if cuentavalor == 1:
cuentavalor= 2
resta = n2
else:
resta = resta - n2
print("El resultado es: %.2f" %(resta))
#================================ PRODUCTO ===================================
if k2 == "3" or k2 == "*":
# Agrega a la lista de funciones la operación de producto
fprog.append("*")
cuentavalor = 1
multiplica = 0.0
print (" Producto")
while not (n1.isdigit()) or n1.upper() == "N":
n1=input("Ingrese un numero o 'N' para salir: %8.2f " % (multiplica))
if n1 == "n" or n1 == "N":
break
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
contador = contador + 1
print (contador, multiplica)
if vlogic == True:
if cuentavalor == 1:
cuentavalor= 2
multiplica = n2
else:
multiplica = multiplica * n2
print("El resultado es: %.2f" %(multiplica))
#======================================== DIVISIÓN ========================================
if k2 == "4" or k2 == "/":
# Agrega a la lista de funciones la operación de cociente
fprog.append("/")
cuentavalor = 1
dividendo = 0.0
divisor = 0.0
print (" Cociente")
while not (n1.isdigit()) or n1.upper() == "N" or float(n1)==0.0:
if cuentavalor == 1:
n1=input("Ingrese un número o 'N' para salir: %8.2f " % (dividendo))
else:
n1=input("Ingrese el divisor o 'N' para salir: %8.2f " % (dividendo))
if n1 == "n" or n1 == "N":
break
try:
float (n1)
vlogic = True
n2 = float(n1)
if n2 == 0.0:
contador = contador +1
n1 = " "
except:
vlogic = False
contador = contador + 1
if contador >= 2:
break
if vlogic == True:
if cuentavalor == 1:
dividendo = n2
# print (dividendo)
elif n2 != 0.0:
divisor = n2
cuentavalor = 1
# print (divisor)
dividendo = dividendo / divisor
else:
print ("No se puede dividir por 0")
while not (n1.isdigit()) or n1.upper() == "N" or float(n1)==0.0:
n1=input("Ingrese el divisor o 'N' para salir: %8.2f " % (dividendo))
if n1 == "n" or n1 == "N":
break
if float(n1) == 0.0:
contador = contador +1
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
divisor = n2
n1 = " "
except:
vlogic = False
contador = contador + 1
if contador >= 2:
break
print (contador, dividendo)
if divisor != 0.0:
dividendo = dividendo / divisor
cuentavalor = 2
if divisor != 0.0:
print("El resultado es: %.2f" %(dividendo))
else:
print ("No se puede dividir por 0")
#================================ FUNCIÓN PROGRAMADA 1 ===========================
if k2 == "5":
vlogic = False
lfprog = len(fprog)
loper = lfprog + 1
for i in range(loper):
n1=input("Ingresar operando: ")
while vlogic == False:
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
if vlogic == True:
operandos.append(n2)
vlogic = False
h = 0
j = 1
cuenta = operandos[h]
while h <= (lfprog-1):
if fprog[h] == "+":
cuenta = cuenta + float(operandos[j])
elif fprog[h] == "-":
cuenta = cuenta - float(operandos[j])
elif fprog[h] == "*":
cuenta = cuenta * float(operandos[j])
elif fprog[h] == "/":
if float(operandos[j]) == 0.0:
while not (n1.isdigit()) or n1.upper() == "N" or n2 == 0.0:
n1=input("Ingrese un nuevo divisor o 'N' para salir: %8.2f " % (division))
if n1 == "n" or n1 == "N":
break
if contador >= 3:
reak
try:
float (n1)
vlogic = True
n2 = float(n1)
operandos.insert(j, n2)
n1 = " "
except:
vlogic = False
contador = contador + 1
cuenta = cuenta / float(operandos[j])
h = h+1
j = j+1
print ("Funciones: ", fprog)
print ("Operandos: ", operandos)
print ("Resultado: ", cuenta)
if k2 == "7":
operandos = []
fprog = []
cuenta = 0.0
selector = input("¿Desea continuar? (s/n): ")
k1 = """
CALCULADORA
|
||||
Autor: | ROHC | 1 | Suma | + |
Lenguaje: | Python3 | 2 | Resta | - |
Ejercicio: | Calculadora 1 | 3 | Multiplicación | * |
Fecha: | 30/08/18 | 4 | División | / |
5 | Programada |
"""Para el siguiente ejercicio documentar con:
Título
Autor
Fecha
Dividir las partes del programa como quitar el salto de linea en un
Realizar los cometarios necesarios que explique lo que hace cada parte del programa
mostrar un menú con:
Las 4 operaciones ( + - * /)
Verifique los datos para que las operaciones sean validos
El siguiente programa presenta un menú con didtintas operaciones a realiza:
Se comienza por elegir la operación a realizar y se repite esta a hasta dar una respuesta 'N' para no continuar o cometer 3 equivocaciones. Luego elñ usuario puede reelegir operación y comenzar un nuevo ciclo o retirarse de el programa con las respuesta adecuada"""
menu = ["1","2","3","4","5","6","7","8"]
fprog=[]
operandos=[]
cuenta = 0.0
cuentavalor = 0
selector = "S"
while selector.upper() == "S":
os.system("clear")
n1 = " "
n2 = " "
contador = 0
print (f"{k1}")
k2 = input ("Seleccione una operación: ")
#================================ SUMA ==========================================
if k2 == "1" or k2 == "+":
# Agrega a la lista de funciones la operación de suma
fprog.append("+")
suma = 0.0
print (" Suma")
while not (n1.isdigit()) or n1.upper() == "N":
n1=input("Ingrese un numero o 'N' para salir: %8.2f " % (suma))
if n1 == "n" or n1 == "N":
break
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
contador = contador + 1
print (contador)
if vlogic == True:
suma = suma + n2
print("El resultado es: %.2f" %(suma))
#================================ RESTA ==========================================
if k2 == "2" or k2 == "-":
# Agrega a la lista de funciones la operación de resta
fprog.append("-")
cuentavalor = 1
resta = 0.0
print (" Diferencia")
while not (n1.isdigit()) or n1.upper() == "N":
n1=input("Ingrese un numero o 'N' para salir: %8.2f " % (resta))
if n1 == "n" or n1 == "N":
break
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
contador = contador + 1
print (contador, resta)
if vlogic == True:
if cuentavalor == 1:
cuentavalor= 2
resta = n2
else:
resta = resta - n2
print("El resultado es: %.2f" %(resta))
#================================ PRODUCTO ===================================
if k2 == "3" or k2 == "*":
# Agrega a la lista de funciones la operación de producto
fprog.append("*")
cuentavalor = 1
multiplica = 0.0
print (" Producto")
while not (n1.isdigit()) or n1.upper() == "N":
n1=input("Ingrese un numero o 'N' para salir: %8.2f " % (multiplica))
if n1 == "n" or n1 == "N":
break
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
contador = contador + 1
print (contador, multiplica)
if vlogic == True:
if cuentavalor == 1:
cuentavalor= 2
multiplica = n2
else:
multiplica = multiplica * n2
print("El resultado es: %.2f" %(multiplica))
#======================================== DIVISIÓN ========================================
if k2 == "4" or k2 == "/":
# Agrega a la lista de funciones la operación de cociente
fprog.append("/")
cuentavalor = 1
dividendo = 0.0
divisor = 0.0
print (" Cociente")
while not (n1.isdigit()) or n1.upper() == "N" or float(n1)==0.0:
if cuentavalor == 1:
n1=input("Ingrese un número o 'N' para salir: %8.2f " % (dividendo))
else:
n1=input("Ingrese el divisor o 'N' para salir: %8.2f " % (dividendo))
if n1 == "n" or n1 == "N":
break
try:
float (n1)
vlogic = True
n2 = float(n1)
if n2 == 0.0:
contador = contador +1
n1 = " "
except:
vlogic = False
contador = contador + 1
if contador >= 2:
break
if vlogic == True:
if cuentavalor == 1:
dividendo = n2
# print (dividendo)
elif n2 != 0.0:
divisor = n2
cuentavalor = 1
# print (divisor)
dividendo = dividendo / divisor
else:
print ("No se puede dividir por 0")
while not (n1.isdigit()) or n1.upper() == "N" or float(n1)==0.0:
n1=input("Ingrese el divisor o 'N' para salir: %8.2f " % (dividendo))
if n1 == "n" or n1 == "N":
break
if float(n1) == 0.0:
contador = contador +1
if contador >= 2:
break
try:
float (n1)
vlogic = True
n2 = float(n1)
divisor = n2
n1 = " "
except:
vlogic = False
contador = contador + 1
if contador >= 2:
break
print (contador, dividendo)
if divisor != 0.0:
dividendo = dividendo / divisor
cuentavalor = 2
if divisor != 0.0:
print("El resultado es: %.2f" %(dividendo))
else:
print ("No se puede dividir por 0")
#================================ FUNCIÓN PROGRAMADA 1 ===========================
if k2 == "5":
vlogic = False
lfprog = len(fprog)
loper = lfprog + 1
for i in range(loper):
n1=input("Ingresar operando: ")
while vlogic == False:
try:
float (n1)
vlogic = True
n2 = float(n1)
n1 = " "
except:
vlogic = False
if vlogic == True:
operandos.append(n2)
vlogic = False
h = 0
j = 1
cuenta = operandos[h]
while h <= (lfprog-1):
if fprog[h] == "+":
cuenta = cuenta + float(operandos[j])
elif fprog[h] == "-":
cuenta = cuenta - float(operandos[j])
elif fprog[h] == "*":
cuenta = cuenta * float(operandos[j])
elif fprog[h] == "/":
if float(operandos[j]) == 0.0:
while not (n1.isdigit()) or n1.upper() == "N" or n2 == 0.0:
n1=input("Ingrese un nuevo divisor o 'N' para salir: %8.2f " % (division))
if n1 == "n" or n1 == "N":
break
if contador >= 3:
reak
try:
float (n1)
vlogic = True
n2 = float(n1)
operandos.insert(j, n2)
n1 = " "
except:
vlogic = False
contador = contador + 1
cuenta = cuenta / float(operandos[j])
h = h+1
j = j+1
print ("Funciones: ", fprog)
print ("Operandos: ", operandos)
print ("Resultado: ", cuenta)
if k2 == "7":
operandos = []
fprog = []
cuenta = 0.0
selector = input("¿Desea continuar? (s/n): ")
No hay comentarios:
Publicar un comentario