Ejercicios en Python (parte 8)

Ejercicios en Python
Ejercicios en Python 

Me llegó un comentario pidiendo ayuda para varios ejercicios. Por lo general no resolvemos tareas, porque de este modo no estamos ayudando, pero en este caso los ejercicios me han parecido interesante de publicar para que puedan seguir practicando este maravilloso lenguaje de programación. Saludos, Diego.


Desarrollar una aplicación en Python, en donde a través de un menú, se puedan realizar las siguientes actividades.

Parte 1. Crear una opción, el cual solicite dos números; el resultado a mostrar deberá ser: suma, resta, producto y división. Recuerde que la división por 0 no existe.


Parte 2. Crear una opción, el cual pida un número del 1 al 12 y diga a que nombre del mes corresponde.


Parte 3. Crear una opción, que permita a un usuario ingresar 5 números. Los números ingresados deberán ser mostrados de manera ascendente y descendente. Es decir, mostrarlos de menor a mayor y de mayor a menor. No es necesario validar los números repetidos y tampoco es necesario validar si es positivo o negativo.


Parte 4. Crear una opción, el cual le solicite a un usuario el sueldo que le corresponde al trabajador y los años de antigüedad que éste tiene en la empresa. La opción debe realizar los cálculos en función de los siguientes criterios:
1. Si lleva más de 10 años en la empresa se le aplica un aumento del 10%.
2. Si lleva menos de 10 años pero más que 5 se le aplica un aumento del 7%.
3. Si lleva menos de 5 años pero más que 3 se le aplica un aumento del 5%.
4. Si lleva menos de 3 años se le aplica un aumento del 3%.
Cuando el cálculo se haya realizado, deberá mostrar en pantalla el sueldo + el aumento.


Parte 5. Crear una opción que lea un número por teclado. En caso de que ese número sea 0 o menor que 0, se saldrá de la opción imprimiendo un mensaje de error. Si es mayor que 0, se deberá calcular su cuadrado y la raíz cuadrada del mismo, visualizando por pantalla, el número que ha tecleado el usuario y su resultado (“Del número X, su potencia es X y su raíz X”). Sugerencia: utilizar librería math.


Parte 6. Crear una opción, en donde se puedan ingresar 10 ventas que un comerciante realiza (ingresar sólo números). Una vez ingresada las ventas, la opción deberá realizar lo siguiente.
1. Mostrar cuantas ventas fueron mayores a $10000.
2. Mostrar cuantas ventas fueron mayores a $5000 y menores o iguales a $10000.
3. Calcular los promedios de cada grupo (puntos a y b), es decir, mostrar promedios mayores a $10000 y entre $5000 a $10000.
4. Mostrar por pantalla lo solicitado en los puntos a, b y c.


Parte 7. Crear una opción, en donde usuario debe introducir únicamente el día y el mes de nacimiento. Esta opción deberá mostrar el signo zodiacal de la persona en base a los antecedentes ingresados. Las fechas de cada signo son:
Aries: Del 21 de marzo al 20 de abril
Tauro: Del 21 de abril al 21 de mayo
Géminis: Del 22 de mayo al 21 de junio
Cáncer: Del 22 de junio al 22 de julio
Leo: Del 23 de julio al 23 de agosto
Virgo: Del 24 de agosto al 23 de septiembre
Libra: Del 24 de septiembre al 23 de octubre
Escorpión: Del 24 de octubre al 22 de noviembre
Sagitario: Del 23 de noviembre al 21 de diciembre
Capricornio: Del 22 de diciembre al 20 de enero
Acuario: Del 21 de enero al 18 de febrero
Piscis: Del 19 de febrero al 20 de marzo


Parte 8. Crear una opción que permita calcular las siguientes unidades de medida: Metros, Pulgadas, Pies y Yardas.
Cada unidad de medida, será una opción a seleccionar, es decir, si yo selecciono metros, ingreso valor en metros y la opción deberá mostrar el resultado en: Pulgadas, Pies y Yardas.

Ejemplo:
Unidades de Medida:
Un metro = 1,09361 yardas, 39,3701 pulgadas, 3,28084 pies.
Una yarda = 0,9144 Metros, 3 pies, 36 pulgadas.
Una pulgada = 0,0254 Metros, 0,0277778 yardas, 0,0833333 pies.
Un pie = 0,3048 Metros, 0,333333 Yardas, 12 pulgadas. 

  1. Anónimo dice:

    Acá está el programa, lo hice en consola no se si era en python gráfico pero es lo que pude hacer:

    # Definiendo funciones

    def operaciones(n, m):
    > return n+m, n-m, n*m, n/m

    def mes(numero):
    > lista_meses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]
    > return numero, lista_meses[numero - 1]

    def asc_desc():
    > condicion = 5
    > lista = []
    > while condicion != 0:
    >> numero = int(raw_input("Introduzca un numero: "))
    >> lista.append(numero)
    >> condicion -= 1
    > return sorted(lista)

    def trabajador(sueldo, anios):
    > if anios <= 3 and anios > 0:
    >> sueldo_promocionado = sueldo + sueldo * 0.03
    > elif anios > 3 and anios <= 5:
    >> sueldo_promocionado = sueldo + sueldo * 0.05
    > elif anios > 5 and anios <= 7:
    >> sueldo_promocionado = sueldo + sueldo * 0.07
    > elif anios > 7:
    >> sueldo_promocionado = sueldo + sueldo * 0.10
    > return sueldo_promocionado

    def raiz_potencia(numero):
    > potencia = numero * numero
    > raiz = sqrt(numero)
    > return potencia, raiz

    def comerciante():
    > condicion = 10
    > ventas_mayores = []
    > ventas_menores = []
    > promedio_ventas_ma = 0
    > promedio_ventas_me = 0
    > while condicion != 0:
    >> venta = int(raw_input("Introduzca la venta (%d): " % condicion))
    >> if venta >= 10000:
    >>> ventas_mayores.append(venta)
    >> elif venta <= 10000 and venta > 5000:
    >>> ventas_menores.append(venta)
    >> condicion -= 1
    > for i in ventas_mayores:
    >> promedio_ventas_ma += i
    > for i in ventas_menores:
    >> promedio_ventas_me += i
    > promedio1 = promedio_ventas_ma / len(ventas_mayores)
    > promedio2 = promedio_ventas_me / len(ventas_menores)
    > return ventas_mayores, ventas_menores, promedio1, promedio2

    def signo_zodiacal(dia, mes):
    > lista_meses = {
    "Enero": (range(1, 21), range(21, 32), "Capricornio", "Acuario"),
    "Febrero": (range(1, 19), range(19, 30), "Acuario", "Piscis"),
    "Marzo": (range(1, 21), range(21, 32), "Piscis", "Aries"),
    "Abril": (range(1, 21), range(21,31), "Aries", "Tauro"),
    "Mayo": (range(1,22), range(22,32), "Tauro", "Geminis"),
    "Junio": (range(1,22), range(22,31), "Geminis", "Cancer"),
    "Julio": (range(1, 23), range(23, 32), "Cancer", "Leo"),
    "Agosto": (range(1,24),range(24,32), "Leo", "Virgo"),
    "Septiembre": (range(1,24), range(24,31), "Virgo", "Libra"),
    "Octubre": (range(1, 24), range(24,32), "Libra", "Escorpio"),
    "Noviembre": (range(1, 23), range(23, 31), "Escorpio", "Sagitario"),
    "Diciembre": (range(1,22), range(22,32), "Sagitario", "Capricornio")
    }

    > diccionario = lista_meses[mes.title()]
    > if dia in diccionario[0]:
    >> return diccionario[2]
    > elif dia in diccionario[1]:
    >> return diccionario[3]

    def calcular(lista):
    > if lista[0] != 0:
    >> lista[1] = lista[0] / 0.9144
    >> lista[2] = lista[0] / 0.0254
    >> lista[3] = lista[0] / 0.3048
    > elif lista[1] != 0:
    >> lista[0] = lista[1] / 1.09361
    >> lista[2] = lista[1] / 0.0277778
    >> lista[3] = lista[1] / 0.333333
    > elif lista[2] != 0:
    >> lista[0] = lista[2] / 39.3701
    >> lista[1] = lista[2] / 36
    >> lista[3] = lista[2] / 12
    > elif lista[3] != 0:
    >> lista[0] = lista[3] / 3.28084
    >> lista[1] = lista[3] / 3
    >> lista[2] = lista[3] / 0.0833333
    > return lista

    1. Anónimo dice:

      # Inicio del codigo que se ejecuta en el programa

      from os import system
      from time import sleep
      from math import sqrt

      while True:
      > system("clear")
      > print "BIENVENIDO A LA APLICACION, PUEDE ESCOGER UNA DE LAS SIGUIENTES OPCIONES"
      > print ""
      > print "1: OPERACIONES PARA DOS NUMEROSn2: MES CORRESPONDIENTE"
      > print "3: 5 NUMEROS ORDENADOS DE MAYOR A MENOR Y VICEVERSAn4: SUELDO DEL TRABAJADOR"
      > print "5: LECTURA DE NUMERO POR TECLADO, POTENCIA Y RAIZn6: VENTAS DE UN COMERCIANTE"
      > print "7: SIGNO ZODIACALn8: CALCULAR DIFERENTES MEDIDAS"
      > print ""
      > print "PARA SALIR INTRODUZCA OTRO CARACTER DIFERENTEn"

      > opcion = raw_input("ESCRIBA EL NUMERO DE SU OPCION: ")

      > if opcion == "1":
      >> system("clear")
      >> print "OPERACIONES PARA DOS NUMEROSn"
      >> try:
      >>> tuple_ope = operaciones(float(raw_input("NUMERO1: ")), float(raw_input("NUMERO2: ")))
      >>> print ""
      >>> print "SUMA:", tuple_ope[0]
      >>> print "RESTA:", tuple_ope[1]
      >>> print "MULTIPLICACION:", tuple_ope[2]
      >>> print "DIVISION:", tuple_ope[3]
      >>> print ""
      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO SE PUEDE DIVIDIR POR CERO"
      >>> sleep(2)

      > elif opcion == "2":
      >> system("clear")
      >> print "MES CORRESPONDIENTEn"
      >> try:
      >>> mes_regresado = mes(int(raw_input("INTRODUZCA UN NUMERO (1-12): ")))
      >>> print ""
      >>> print "EL NUMERO %d CORRESPONDE AL MES: %sn" % mes_regresado
      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO HA INGRESADO UN NUMERO, O ESTA FUERA DEL RANGO"
      >>> sleep(3)

      > elif opcion == "3":
      >> system("clear")
      >> print "5 NUMEROS ORDENADOS DE MAYOR A MENOR Y VICEVERSAn"
      >> try:
      >>> listas_asc_desc = asc_desc()
      >>> print ""
      >>> print "LISTA ORDENADA:", listas_asc_desc
      >>> print "LISTA INVERTIDA:", listas_asc_desc[::-1]
      >>> print ""
      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO HA INGRESADO UN NUMERO ENTERO"
      >>> sleep(3)

    2. Anónimo dice:

      # Continuacion del programa

      > elif opcion == "4":
      >> system("clear")
      >> print "SUELDO DEL TRABAJADORn"
      >> try:
      >>> sueldo_tra = trabajador(int(raw_input("SUELDO: ")), int(raw_input("ANIOS TRABAJANDO: ")))
      >>> print ""
      >>> print "SU SUELDO ES DE $", sueldo_tra
      >>> print ""
      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO HA INGRESADO NUMEROS EN SUELDO O ANIOS"
      >>> sleep(3.5)

      > elif opcion == "5":
      >> system("clear")
      >> print "LECTURA DE NUMERO POR TECLADO, POTENCIA Y RAIZn"
      >> try:
      >>> tuple_raiz_potencia = raiz_potencia(float(raw_input("INTRODUZCA UN NUMERO: ")))
      >>> print ""
      >>> print "SU POTENCIA ES %d Y SU RAIZ ES %dn" % tuple_raiz_potencia
      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO HA INGRESADO UN NUMERO"
      >>> sleep(2)

      > elif opcion == "6":
      >> system("clear")
      >> print "VENTAS DE UN COMERCIANTE (DE 5000 EN ADELANTE)n"
      >> try:
      >>> tuple_comerciante = comerciante()
      >>> print ""
      >>> print "VENTAS MAYORES:", tuple_comerciante[0]
      >>> print "VENTAS MENORES:", tuple_comerciante[1]
      >>> print "PROMEDIO VENTAS MAYORES: $", tuple_comerciante[2]
      >>> print "PROMEDIO VENTAS MENORES: $", tuple_comerciante[3]
      >>> print ""
      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO HA INGRESADO UNA LISTA DE NUMEROS"
      >>> sleep(3)

      > elif opcion == "7":
      >> system("clear")
      >> print "SIGNO ZODIACALn"
      >> try:
      >>> signo = signo_zodiacal(int(raw_input("DIA DE NACIMIENTO: ")), raw_input("MES DE NACIMIENTO: "))
      >>> print ""
      >>> print "SU SIGNO ZODIACAL ES:", signo
      >>> print ""
      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO HA INGRESADO ENTERO EN DIA O NO HA INGRESADO CADENA EN MES, O ESTA FUERA DE RANGO DE DIAS"
      >>> sleep(5)

    3. Anónimo dice:

      # Y esta es la ultima parte

      > elif opcion == "8":
      >> try:
      >>> system("clear")
      >>> print "CALCULAR DIFERENTES MEDIDASn"
      >>> print "OPCIONES:n"
      >>> print "1: METROS"
      >>> print "2: YARDA"
      >>> print "3: PULGADA"
      >>> print "4: PIEn"

      >>> indice = int(raw_input("SU OPCION: "))

      >>> lista_medida = [0, 0, 0, 0]
      >>> if indice == 1:
      >>>> opcion_cadena = "METROS: "
      >>> elif indice == 2:
      >>>> opcion_cadena = "YARDAS: "
      >>> elif indice == 3:
      >>>> opcion_cadena = "PULGADA: "
      >>> elif indice == 4:
      >>>> opcion_cadena = "PIE: "

      >>> lista_medida[indice - 1] = float(raw_input(opcion_cadena))
      >>> nueva_lista_medida = calcular(lista_medida)

      >>> print ""
      >>> print "METROS:", nueva_lista_medida[0]
      >>> print "YARDAS:", nueva_lista_medida[1]
      >>> print "PULGADA:", nueva_lista_medida[2]
      >>> print "PIES:", nueva_lista_medida[3]
      >>> print ""

      >>> raw_input("'ENTER' PARA CONTINUAR")
      >> except:
      >>> print ""
      >>> print "NO HA INGRESADO UN NUMERO CORRESPONDIENTE"
      >>> sleep(3)
      > else:
      >> break

    4. Anónimo dice:

      Y por ultimo, Muchísimas gracias Diego Caraballo gracias a tus ejercicios pase de hacer un def max_num(num1, num2) del primer ejercicio a poder hacer algo mucho mejor! 🙂

  2. El Hacker Libre dice:

    Saludos!
    Este es mi programa, me he divertido mucho desarrollándolo.
    Soy un principiante en Python y al poder hacer este programa note que si he aprendido lo básico en Python.
    dejo el link: http://pastebin.com/sNa5NJxw para que puedan obtener el código. Acepto sus correcciones, sugerencia y consejos, ya que como he dicho soy un principiante en Python. y este es el primer programa que he hecho por mi cuenta. Tarde como 3 días escribiéndolo pero al fina si logre terminarlo...

    1. PythonDiario dice:

      Excelente, muy buen código!!! Gracias por compartir y visitar el blog!!!
      Saludos

  3. Anónimo dice:

    por favooooooor ayuda.
    Desarrollar un programa que permita el ingreso de datos de numero empleados tomando en cuenta las
    siguientes consideraciones:
    1. Los datos de un empleado deben estar formados por: Nombres, Apellidos, Cedula, Sueldo.
    2. El programa deberá indicar el número de empleados a ingresar.
    3. Luego, ingresar los datos de cada empleado hasta completar el número indicado.
    4. Mostrar un menú con las siguientes opciones:
    0. Salir
    1. Promedio sueldo
    2. Datos del empleado con mayor sueldo
    3. Datos del empleado de menor sueldo
    4. Buscar Empleado
    El programa solo puede terminar cuando se escoja la opción 0

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
White Monkey