Google+ Seguidores

sábado, 21 de mayo de 2016

Ejercicios en Python (parte 8)

    5

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. 

5 comentarios:
Write comentarios
  1. 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

    ResponderEliminar
    Respuestas
    1. # 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 NUMEROS\n2: MES CORRESPONDIENTE"
      > print "3: 5 NUMEROS ORDENADOS DE MAYOR A MENOR Y VICEVERSA\n4: SUELDO DEL TRABAJADOR"
      > print "5: LECTURA DE NUMERO POR TECLADO, POTENCIA Y RAIZ\n6: VENTAS DE UN COMERCIANTE"
      > print "7: SIGNO ZODIACAL\n8: CALCULAR DIFERENTES MEDIDAS"
      > print ""
      > print "PARA SALIR INTRODUZCA OTRO CARACTER DIFERENTE\n"

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

      > if opcion == "1":
      >> system("clear")
      >> print "OPERACIONES PARA DOS NUMEROS\n"
      >> 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 CORRESPONDIENTE\n"
      >> try:
      >>> mes_regresado = mes(int(raw_input("INTRODUZCA UN NUMERO (1-12): ")))
      >>> print ""
      >>> print "EL NUMERO %d CORRESPONDE AL MES: %s\n" % 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 VICEVERSA\n"
      >> 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)

      Eliminar
    2. # Continuacion del programa

      > elif opcion == "4":
      >> system("clear")
      >> print "SUELDO DEL TRABAJADOR\n"
      >> 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 RAIZ\n"
      >> try:
      >>> tuple_raiz_potencia = raiz_potencia(float(raw_input("INTRODUZCA UN NUMERO: ")))
      >>> print ""
      >>> print "SU POTENCIA ES %d Y SU RAIZ ES %d\n" % 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 ZODIACAL\n"
      >> 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)

      Eliminar
    3. # Y esta es la ultima parte

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

      >>> 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

      Eliminar
    4. 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! :)

      Eliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Entradas más recientes

© 2014 Mi diario Python. Designed by Bloggertheme9 | Distributed By Gooyaabi Templates
Powered by Blogger.