Advertisement
elhackerlibre

multiopciones

Dec 22nd, 2016
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 19.11 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # funcionopciones.py
  5. # Este programa contiene un total de ocho (8) funciones, Que se serán invocada
  6. # desde un menu. Cada función sera asignada a una opción del menú.
  7.  
  8. # Author: Felix Molero
  9. # Nick: virus69
  10. # Email: elhackerlibre@gmail.com
  11. # Licence: GPL V2
  12.  
  13. """
  14. Este programa es totalmente gratuito, se puede compartir, mejorar,
  15. redistribuir, siempre reconociendo la autoría original...
  16. """
  17. # Importando módulos:
  18. import os
  19. import sys
  20. import math
  21. from math import *
  22.  
  23.  
  24. ############################# Función 1: ######################################
  25. def operacionBasica():
  26.     """Función que realiza operaciones matemáticas básicas
  27.       Suma, Resta, Producto, División.
  28.       Al ingresar 2 valores por el usuario"""
  29.  
  30.     os.system('clear' or 'cls')  # Limpiar pantalla
  31.  
  32.     # Creando un bucle para volver al programa o al menú de opciones
  33.     back = 'si'
  34.     while back == 'si':
  35.  
  36.         print("\n#===================================#",
  37.               "\n            OPCIÓN: #1               ",
  38.               "\n    Bienvenido al programa de        ",
  39.               "\n  Operaciones Matemática Básica      ",
  40.               "\n\n          INFORMACIÓN:             ",
  41.               "\n  Este programa realiza operaciones  ",
  42.               "\n de: Suma, Resta, Producto, División.",
  43.               "\n#===================================#",
  44.               "\n\n Por favor:")
  45.  
  46.         # Ingresar valores:
  47.         n1 = int(input("\n Ingrese un número \n\t >>> "))
  48.         n2 = int(input("\n Ingrese otro número \n\t >>> "))
  49.  
  50.         # Resultado de las operaciones:
  51.         print("\n", n1, "+", n2, "=", n1 + n2, "\n",
  52.               "\n", n1, "-", n2, "=", n1 - n2, "\n",
  53.               "\n", n1, "x", n2, "=", n1 * n2, "\n",
  54.               "\n", n1, "÷", n2, "=", n1 / n2, "\n")
  55.  
  56.         # Fin del bucle, solicita volver
  57.         print("\n Pulse <si> para realizar nueva operación",
  58.               "\n Pulse cualquier tecla para volver al menú")
  59.         back = input("\n >>> ")
  60.         if back == 'si':
  61.             return operacionBasica()
  62.         else:
  63.             return menuOpciones()
  64.  
  65.  
  66. ############################# Función 2: ######################################
  67. def buscadorMes():
  68.     """Función que realiza una búsqueda del mes,
  69.       cuando el usuario ingresa por teclado
  70.       un número del 1 al 12"""
  71.  
  72.     os.system('clear' or 'cls')  # Limpiar pantalla
  73.  
  74.     # Creando un bucle para volver al programa o al menú de opciones
  75.     back = 'si'
  76.     while back == 'si':
  77.  
  78.         # Diccionario:
  79.         mes = {1: "Enero",   4: "Abril",  7: "Julio",      10: "Octubre",
  80.                2: "Febrero", 5: "Mayo",   8: "Agosto",     11: "Noviembre",
  81.                3: "Marzo",   6: "Junio",  9: "Septiembre", 12: "Diciembre"}
  82.  
  83.         print("\n#===================================#",
  84.               "\n            OPCIÓN: #2               ",
  85.               "\n      Bienvenido al programa:        ",
  86.               "\n  Busca el mes acorde a su número    ",
  87.               "\n\n          INFORMACIÓN:             ",
  88.               "\n  Este programa realiza la función   ",
  89.               "\n al ingresar un número en pantalla,  ",
  90.               "\n  este muestra el nombre del mes     ",
  91.               "\n#===================================#")
  92.  
  93.         print("\n Ingrese un número del 1 al 12 para buscar un mens")
  94.  
  95.         # Entrada de datos:
  96.         num = int(input("\n >>> "))
  97.  
  98.         # Salida de datos:
  99.         print("\n El número", num, "corresponde a:", mes.get(num,
  100.               "el mes no existe"))
  101.  
  102.         # Reinicio del programa
  103.         print("\n Pulse <si> para realizar nueva operación",
  104.               "\n Pulse cualquier tecla para volver al menú")
  105.         back = input("\n >>> ")
  106.         if back == 'si':
  107.             return buscadorMes()
  108.         else:
  109.             return menuOpciones()
  110.  
  111.  
  112. ############################# Función 3: ######################################
  113. def ordenarNumeros():
  114.     """Función que ordena los números
  115.       ingresado de mayor a menor,
  116.       y viceversa."""
  117.  
  118.     os.system('clear' or 'cls')  # Limpiar pantalla
  119.  
  120.     # Creando un bucle para volver al programa o al menú de opciones
  121.     back = 'si'
  122.     while back == 'si':
  123.  
  124.         print("\n#===================================#",
  125.               "\n            OPCIÓN: #3               ",
  126.               "\n      Bienvenido al programa:        ",
  127.               "\n  Ordenador de números de mayor a    ",
  128.               "\n         menor y viceversa           ",
  129.               "\n\n          INFORMACIÓN:             ",
  130.               "\n  Este programa realiza la función   ",
  131.               "\n al ingresar 5 número en pantalla,   ",
  132.               "\n      este muestra en orden de       ",
  133.               "\n            mayor a menor.           ",
  134.               "\n#===================================#")
  135.  
  136.         # Entrada de datos:
  137.         n1 = int(input("\n Ingrese valor 1: \n >>> "))
  138.         n2 = int(input("\n Ingrese valor 2: \n >>> "))
  139.         n3 = int(input("\n Ingrese valor 3: \n >>> "))
  140.         n4 = int(input("\n Ingrese valor 4: \n >>> "))
  141.         n5 = int(input("\n Ingrese valor 5: \n >>> "))
  142.  
  143.         # Ordenar los valores ingresado de mayor a menos
  144.         #  y de menos a mayor.
  145.         bs = [n1, n2, n3, n4, n5]
  146.         cs = sorted(bs)
  147.         bs.sort()
  148.         cs.reverse()
  149.  
  150.         # Salida:
  151.         print("\n Orden mayor:", str(bs))
  152.         print("\n Orden menor:", str(cs))
  153.  
  154.         # Reinicio del programa
  155.         print("\n Pulse <si> para realizar nueva operación",
  156.               "\n Pulse cualquier tecla para volver al menú")
  157.         back = input("\n >>> ")
  158.         if back == 'si':
  159.             return ordenarNumeros()
  160.         else:
  161.             return menuOpciones()
  162.  
  163.  
  164. ############################# Función 3: ######################################
  165. def salarioTrabajador():
  166.     """Función que incrementa el salario
  167.       de un trabajador por años trabajados"""
  168.  
  169.     os.system('clear' or 'cls')  # Limpiar pantalla
  170.  
  171.     # Creando un bucle para volver al programa o al menú de opciones
  172.     back = 'si'
  173.     while back == 'si':
  174.  
  175.         print("\n#===================================#",
  176.               "\n            OPCIÓN: #4               ",
  177.               "\n      Bienvenido al programa:        ",
  178.               "\n        Incremento Salariar          ",
  179.               "\n\n          INFORMACIÓN:             ",
  180.               "\n  Este programa realiza la función   ",
  181.               "\n   de incrementar un porcentaje al   ",
  182.               "\n  salario de un trabajador acorde a  ",
  183.               "\n   sus años  de jornada laboral.     ",
  184.               "\n#===================================#")
  185.  
  186.         # Entrad de datos:
  187.         s = float(input("\n ¿Cual es su sueldo actual? \n >>> "))
  188.         a = int(input("\n ¿Cuantos años ha trabajado en la empresa? \n >>> "))
  189.  
  190.         # Condicional:
  191.         if a >= 10:
  192.             i = s + ((s * 10) // 100)  # Formula de incremento por %
  193.             print("\n Su salario es de:", s,
  194.                   "\n Y su incremento salarial es de:", i)
  195.         elif a < 10 and a >= 5:
  196.             i = s + ((s * 7) // 100)
  197.             print("\n Su salario es de:", s,
  198.                   "\n Y su incremento salarial es de:", i)
  199.         elif a < 5 and a >= 3:
  200.             i = s + ((s * 5) // 100)
  201.             print("\n Su salario es de:", s,
  202.                   "\n Y su incremento salarial es de:", i)
  203.         elif a < 3:
  204.             i = s + ((s * 3) // 100)
  205.             print("\n Su salario es de:", s,
  206.                   "\n Y su incremento salarial es de:", i)
  207.  
  208.         # Reinicio del programa
  209.         print("\n Pulse <si> para realizar nueva operación",
  210.               "\n Pulse cualquier tecla para volver al menú")
  211.         back = input("\n >>> ")
  212.         if back == 'si':
  213.             return salarioTrabajador()
  214.         else:
  215.             return menuOpciones()
  216.  
  217.  
  218. ############################# Función 5: ######################################
  219. def potenciaYraizCuadrada():
  220.     """Función que realiza el calculo de un valor,
  221.       Ingresado por pantalla y este muestre la potencia,
  222.       y raíz cuadrada del valor ingresado"""
  223.  
  224.     os.system('clear' or 'cls')  # Limpiar pantalla
  225.  
  226.     # Creando un bucle para volver al programa o al menú de opciones
  227.     back = 'si'
  228.     while back == 'si':
  229.  
  230.         print("\n#===================================#",
  231.               "\n            OPCIÓN: #5               ",
  232.               "\n      Bienvenido al programa:        ",
  233.               "\n  calcule la potencia y la raíz      ",
  234.               "\n       cuadra de un número           ",
  235.               "\n\n          INFORMACIÓN:             ",
  236.               "\n  Este programa realiza la función   ",
  237.               "\n de mostrar en pantalla, la potencia ",
  238.               "\n  y la raíz cuadrada de un número    ",
  239.               "\n       ingresado por teclado.        ",
  240.               "\n#===================================#")
  241.  
  242.         print("\n ¿Deseas saber la potencia y la raíz cuadrada de un número?")
  243.  
  244.         # Entrada de datos:
  245.         n = float(input("\n Ingrese un numero: \n >>> "))
  246.  
  247.         # Condicional:
  248.         if n > 0:
  249.             p = n ** 2
  250.             r = math.sqrt(n)
  251.  
  252.             print("\n La potencia de", n, " es:", p,
  253.                   "\n La raíz cuadrada de", n, " es;", r)
  254.         else:
  255.             print("\n ¡ERROR!")
  256.  
  257.         # Reinicio del programa
  258.         print("\n Pulse <si> para realizar una nueva operación",
  259.               "\n Pulse cualquier tecla para volver al menú")
  260.         back = input("\n >>> ")
  261.         if back == 'si':
  262.             return potenciaYraizCuadrada()
  263.         else:
  264.             return menuOpciones()
  265.  
  266.  
  267. ############################# Función 6: ######################################
  268. def calcularVentas():
  269.     """Función que calcula el ingreso de 10 ventas comerciales
  270.       y muestra en pantalla las venta mayores a diez mil y las
  271.       ventas mayores a cinco mil y menor o igual a diez mil"""
  272.  
  273.     os.system('clear' or 'cls')  # Limpiar pantalla
  274.  
  275.     # Creando un bucle para volver al programa o al menú de opciones
  276.     back = 'si'
  277.     while back == 'si':
  278.  
  279.         print("\n#===================================#",
  280.               "\n            OPCIÓN: #6               ",
  281.               "\n      Bienvenido al programa:        ",
  282.               "\n        Calcular 10 ventas           ",
  283.               "\n\n          INFORMACIÓN:             ",
  284.               "\n  Este programa realiza la función   ",
  285.               "\n de calcular 10 ventas y mostrar en  ",
  286.               "\n pantallas las ventas mayores a diez ",
  287.               "\n mil, menores a cinco mil y mayores o",
  288.               "\n igual a diez mil, también muestra en",
  289.               "\n  pantalla el promedio mayor y menor ",
  290.               "\n       de las ventas realizadas.     ",
  291.               "\n#===================================#")
  292.  
  293.         # Variables:
  294.         v1 = []
  295.         v2 = []
  296.         promax = 0
  297.         promin = 0
  298.  
  299.         # Bucle for solicitar el ingreso de las 10 ventas
  300.         for x in range(0, 10):
  301.             ventas = float(input("\n Ingrese el monto de las ventas: \n >>> "))
  302.  
  303.             # Condicional:
  304.             if ventas > 10000:
  305.                 v1.append(ventas)
  306.             elif ventas > 5000 and ventas <= 10000:
  307.                 v2.append(ventas)
  308.  
  309.         # Imprime en pantalla el resultado de las ventas solicitadas
  310.         for x in v1:
  311.             print("\n Ventas mayor a diez mil:", x)
  312.         for x in v2:
  313.             print("\n Ventas mayor a cinco mil y menor o igual a diez mil:", x)
  314.  
  315.         # Promedio de las ventas
  316.         for i in v1:
  317.             promax += i
  318.         for i in v2:
  319.             promin += i
  320.  
  321.         p1 = promax / len(v1)
  322.         p2 = promin / len(v2)
  323.  
  324.         # Imprime en pantalla el promedio de las ventas
  325.         print("\n Promedio mayor de las ventas:", p1)
  326.         print("\n Promedio menor de las ventas:", p2)
  327.  
  328.         # Reinicio del programa
  329.         print("\n Pulse <si> para realizar una nueva operación",
  330.               "\n Pulse cualquier tecla para volver al menú")
  331.         back = input("\n >>> ")
  332.         if back == 'si':
  333.             return calcularVentas()
  334.         else:
  335.             return menuOpciones()
  336.  
  337. ############################# Función 7: ######################################
  338. def signoZodiacal():
  339.     """Función que adivina el signo zodiacal
  340.       al ingresar por teclado día y mes"""
  341.  
  342.     os.system('clear' or 'cls')  # Limpiar pantalla
  343.  
  344.     # Creando un bucle para volver al programa o al menu de opciones
  345.     back = 'si'
  346.     while back == 'si':
  347.  
  348.         print("\n#===================================#",
  349.               "\n            OPCIÓN: #5               ",
  350.               "\n      Bienvenido al programa:        ",
  351.               "\n     Adivina tu signo zodiacal       ",
  352.               "\n\n          INFORMACIÓN:             ",
  353.               "\n  Este programa realiza la función   ",
  354.               "\n  de mostrar en pantalla el signo    ",
  355.               "\n zodiacal, al ingresar los datos del ",
  356.               "\n       día y mes de nacimiento.      ",
  357.               "\n#===================================#")
  358.  
  359.         # TUpla con los signos
  360.         signos = ("Capricornio","Acuario", "Piscis", "Aries", "Tauro",
  361.                   "Geminis", "Cancer", "Leo", "Virgo", "Libra", "Escorpión")
  362.  
  363.         # Tuplas de fechas de los signos zodiacales
  364.         fecha = (20, 19, 20, 20, 21, 21, 22, 22, 22, 22, 22, 21 )
  365.  
  366.         print("\n ADIVINA TU SIGNO ZODIACAL")
  367.  
  368.         dia = int(input("\n Ingresa día de nacimiento: \n >>> "))
  369.         mes = int(input("\n Ingresa el número del mes de nacimientos: \n >>> "))
  370.  
  371.         mes = mes -1
  372.         if dia > fecha[mes]:
  373.             mes = mes +1
  374.         if mes == 12:
  375.             mes = 0
  376.  
  377.         print("\n Tu signo es:", signos[mes])
  378.  
  379.         # Reinicio del programa
  380.         print("\n Pulse <si> para realizar una nueva operación",
  381.               "\n Pulse cualquier tecla para volver al menú")
  382.         back = input("\n >>> ")
  383.         if back == 'si':
  384.             return signoZodiacal()
  385.         else:
  386.             return menuOpciones()
  387.  
  388.  
  389. ############################# Función 8: ######################################
  390. def unidadesMetricas():
  391.     """Función que hace una conversion de las unidades
  392.       de medición Metros, Pulgadas, Pies, Yardas, según
  393.       el valor ingresado por el usuario"""
  394.  
  395.     os.system('clear' or 'cls')  # Limpiar pantalla
  396.  
  397.     # Creando un bucle para volver al programa o al menú de opciones
  398.     back = 'si'
  399.     while back == 'si':
  400.  
  401.         print("\n#===================================#",
  402.               "\n            OPCIÓN: #8               ",
  403.               "\n      Bienvenido al programa:        ",
  404.               "\n    Conversor unidades de medidas    ",
  405.               "\n\n          INFORMACIÓN:             ",
  406.               "\n  Este programa realiza la función   ",
  407.               "\n  De convertir unidades de medidas,  ",
  408.               "\n   Metros, Pulgadas, Pies, Yardas    ",
  409.               "\n  ingresando un calor por teclado.   ",
  410.               "\n#===================================#")
  411.  
  412.         # Variables:
  413.         mtrs_pulg = 39.3701
  414.         mtrs_pies = 3.28084
  415.         mtrs_yard = 1.09361
  416.  
  417.         pulg_mtrs = 0.0254
  418.         pulg_pies = 0.0833333
  419.         pulg_yard = 0.0277778
  420.  
  421.         pies_mtrs = 0.3048
  422.         pies_pulg = 12
  423.         pies_yard = 0.333333
  424.  
  425.         yard_mtrs = 0.9144
  426.         yard_pies = 3
  427.         yard_pulg = 36
  428.  
  429.         # Menú opciones de medidas
  430.         print("\n **** MENÚ ****",
  431.               "\n 1 - Metros:",
  432.               "\n 2 - Pulgadas:",
  433.               "\n 3 - Pies:",
  434.               "\n 4 - Yardas:")
  435.  
  436.         # Selección de opciones:
  437.         opcion = int(input("\n Selecciones una opción del menu: \n >>> "))
  438.  
  439.  
  440.  
  441.         # Condicionales:
  442.         if opcion == 1:
  443.             mtrs = int(input("\n Ingrese unidad en Metros: \n >>> "))
  444.             print("")
  445.             print("\n\t", mtrs, "Metros es =", mtrs * mtrs_pulg, "Pulgadas")
  446.             print("\n\t", mtrs, "Metros es =", mtrs * mtrs_pies, "Pies")
  447.             print("\n\t", mtrs, "Metros es =", mtrs * mtrs_yard, "Yardas")
  448.         elif opcion == 2:
  449.             pulg = int(input("\n Ingrese unidad en Pulgadas: \n >>> "))
  450.             print("\n\t", pulg, "Pulgadas es =", pulg * pulg_mtrs, "Metros")
  451.             print("\n\t", pulg, "Pulgadas es =", pulg * pulg_pies, "Pies")
  452.             print("\n\t", pulg, "Pulgadas es =", pulg * pulg_yard, "Yardas")
  453.         elif opcion == 3:
  454.             pies = int(input("\n Ingrese unidad en Pies: \n >>> "))
  455.             print("\n\t", pies, "Pies es =", pies * pies_mtrs, "Metros")
  456.             print("\n\t", pies, "Pies es =", pies * pies_pulg, "Pulgadas")
  457.             print("\n\t", pies, "Pies es =", pies * pies_yard, "Yardas")
  458.         elif opcion == 4:
  459.             yard = int(input("\n Ingrese unidad en Yardas: \n >>> "))
  460.             print("\n\t", yard, "Yardas es =", yard * yard_mtrs, "Metros")
  461.             print("\n\t", yard, "Yardas es =", yard * yard_pies, "Pies")
  462.             print("\n\t", yard, "Yardas es =", yard * yard_pulg, "Pulgadas")
  463.         else:
  464.             print("\n Ingrese una opción valida")
  465.  
  466.         # Reinicio del programa
  467.         print("\n Pulse <si> para realizar una nueva operación",
  468.               "\n Pulse cualquier tecla para volver al menú")
  469.         back = input("\n >>> ")
  470.         if back == 'si':
  471.             return unidadesMetricas()
  472.         else:
  473.             return menuOpciones()
  474.  
  475.  
  476. #=============================================================================#
  477. # Creando una función para el menú de opciones:
  478. def menuOpciones():
  479.     """función para limpiar la pantalla
  480.       y muestre nuevamente el menú """
  481.  
  482.     os.system('clear' or 'cls')
  483.  
  484.     # Definiendo las opciones del menú:
  485.     print("\n\t\t **** MENÚ ****",
  486.           "\n\t ================================",
  487.           "\n\t 1 - Operaciones Matemáticas.",
  488.           "\n\t 2 - Buscador de mes."
  489.           "\n\t 3 - Ordenar números.",
  490.           "\n\t 4 - Incremento de salario.",
  491.           "\n\t 5 - Calcular la raíz cuadrada.",
  492.           "\n\t 6 - Calcular 10 ventas.",
  493.           "\n\t 7 - Adivina tu signo zodiacal.",
  494.           "\n\t 8 - Conversor unidades de medidas.",
  495.           "\n\t 9 - Salir",
  496.           "\n\t =================================")
  497.  
  498. while True:
  499.     # Mostrar menú de opciones:
  500.     menuOpciones()
  501.  
  502.     # Seleccionar un opción del menú:
  503.     opciones = int(input("\n Seleccione una opción del menú: \n >>> "))
  504.  
  505.     if opciones == 1:
  506.         print(operacionBasica())
  507.  
  508.     elif opciones == 2:
  509.         print(buscadorMes())
  510.  
  511.     elif opciones == 3:
  512.         print(ordenarNumeros())
  513.  
  514.     elif opciones == 4:
  515.         print(salarioTrabajador())
  516.  
  517.     elif opciones == 5:
  518.         print(potenciaYraizCuadrada())
  519.  
  520.     elif opciones == 6:
  521.         print(calcularVentas())
  522.  
  523.     elif opciones == 7:
  524.         print(signoZodiacal())
  525.  
  526.     elif opciones == 8:
  527.         print(unidadesMetricas())
  528.  
  529.     elif opciones == 9:
  530.         sys.exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement