Advertisement
elhackerlibre

multiopciones

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