Ejercicios de programacion python con solucion

Ejercicios de programación python con solución
Ejercicios de programación python con solución

En esta sección iré dejando todos los ejercicios de programación que hemos ido realizando a lo largo del tiempo en el blog.
Estos ejercicios tienen como propósito mejorar nuestras habilidades como programador python.
Como he comentado ya en algunas entradas de ejercicios, mis soluciones a los ejercicios no tiene porque ser la mejor solución. Ustedes pueden crear soluciones diferentes y resolver correctamente el ejercicio planteado.
Pueden dejar en los comentarios de las entradas sus posibles soluciones, dudas o cualquier tipo de sugerencia, el objetivo es aprender.

Los ejercicios tendrán un orden progresivo para los que recién se están familiarizando con python.
Supongo que estos ejercicios también son útiles para personas que vengan de otros lenguajes de programación.

Ejercicios Python en Videos






Ejercicios de Programación Python Parte #1



Ejercicios Python en Post


Ejercicios python 1
Ejercicios python 1

Ejercicios en python (parte 1)

Ejercicios resueltos en python (parte 1)






Ejercicios python 2
Ejercicios python 2

Ejercicios en python (parte 2)

Ejercicios resueltos en python (parte 2)







Ejercicios python 3
Ejercicios python 3

Ejercicios en python (parte 3)

Ejercicios resueltos en python (parte 3)









Ejercicios python 4
Ejercicios python 4

Ejercicios en python (parte 4)

Ejercicios resueltos en python (parte 4)









Ejercicio python 5
Ejercicio python 5

Ejercicio en python (parte 5)

Solución pendiente...






Ejercicio python 6
Ejercicio python 6

Ejercicios en python (parte 6)

Soluciones pendientes...






Ejercicios python 6
Ejercicios de Listas python


Ejercicios de listas en python

Soluciones pendientes...







Programación Orientada a Objetos
Programación Orientada a Objetos

Ejercicios de Clases y Objetos en python

Soluciones pendientes...






Ejercicios gráficos python
Ejercicios gráficos python

Ejercicios gráficos de programación python (parte 1)

Primera parte de la solución











Seguiré agregando ejercicios y soluciones aquí...

Ahora a practicar y no olviden dejar sus dudas o sugerencias.

Saludos, Diego...
  1. Respuestas
    1. Gracias por visitar el blog. Y espero te sean de ayuda los ejercicios. Saludos

      Eliminar
    2. Escribir un programa en python que lea del teclado un número e imprima en la pantalla cuántos dígitos pares e impares tiene.
      Como le harias amigo

      Eliminar
    3. Sería algo asi:
      numero = 123456
      numero = str(numero)
      lista_de_numeros = []
      for row in numero:
      lista_de_numeros.append(int(row))

      n_pares = 0
      n_impares = 0
      for row in lista_de_numeros:
      if row % 2 == 0:
      n_pares = n_pares + 1
      else:
      n_impares = n_impares + 1

      (*) no olvides el espaciado en cada condicional, en esta caja de texto no respeta dicho espaciado

      Eliminar
  2. Respuestas
    1. Gracias a ti por visitar el blog. Espero te sean de ayuda!!!!

      Eliminar
  3. Excelente y grandiosa aportacion

    ResponderEliminar
  4. Gracias, sigue publicando. Me es de mucha ayuda. (Añadido a mis marcadores)

    ResponderEliminar
    Respuestas
    1. Gracias a ti por visitar el blog y participar. Seguiremos publicando más ejercicios ;). Saludos

      Eliminar
    2. Una fábrica de tornillos tiene una planta de producción donde laboran N trabajadores. A cada trabajador se le asigna un grado de eficiencia que se establece dependiendo de algunas condiciones y de la información que se describe a continuación

      De cada trabajador se conocen los siguientes datos:

      • Nombre del trabajador

      • Horas de ausencia del trabajo

      • Cantidad de Tornillos defectuosos producidos

      • Cantidad total de Tornillos producidos

      Para el cálculo del grado de eficiencia del trabajador se tendrán en cuenta las siguientes condiciones:

      ausencia del trabajo <= 3.5 horas

      tornillos defectuosos < 300

      tornillos producidos > 10000

      El grado de eficiencia de un trabajador se asigna de la siguiente manera:

      Grado = 5 Si el trabajador cumple cumple con las 3 condiciones

      Grado = 3 Si cumple hasta 2 condiciones cualquiera

      Grado = 0. Los demás

      Escriba un programa en Python que obtenga la información requerida por la Gerencia de la Fabrica, como se describe a continuación:

      Calcular e imprimir el grado de eficiencia de cada trabajador

      Calcular el porcentaje de trabajadores clasificados en cada grado.

      Calcular el valor total de la nómina. Todos Los empleados ganan el salario mínimo mensual legal vigente de $925.148,00 pero se sabe que los empleados que obtienen grado 5 tienen una bonificación de 7% adicional sobre salario mínimo, (ayuda)

      Eliminar
  5. ¿Como se escribe una funcion format_time que tome un numero entero de segundos en un rango de (0, 3600) y lo convierto a un str que da el numero de minutos y segundos. Lo he intentado varias veces y aunque el programa no me da error, tampoco me da resultado correcto, solo responde "none". Ojo: debe utilizar // y %.

    ResponderEliminar
    Respuestas
    1. Hola Miriam, se me ocurre algo asi:

      def format_time(x):

      minutos = 0
      segundos = 0

      minutos = x // 60
      segundos = x - (minutos * 60)

      print minutos , "Minutos"
      print segundos , "Segundos"

      format_time(122)

      Saludos!!!

      Eliminar
    2. Los segundos los puedes calcular asi:

      segundos = x % 60

      Saludos

      Eliminar
  6. No se si se pueden proponer ideas de ejercicios pero aquí tengo una:
    Genera una lista (o imprime por pantalla) una combinación de "catetos" que al hacer la fórmula de Pitagoras den un resultado sin decimales, para comprobar que funciona, realiza ese calculo con los resultados (poner de limite el que sea, 1000 por ejemplo).

    ResponderEliminar
    Respuestas
    1. Excelente Pablocubi, lo tendré en cuenta para una futura entrada de ejercicios. Gracias por la propuesta. Saludos

      Eliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. Excelente página... La práctica hace al maestro..
    Felicitaciones por esta iniciativa que permite reforzar los conocimientos de los apasionados por la programación!!!

    Saludos desde Ecuador...

    ResponderEliminar
    Respuestas
    1. Gracias Enrique, seguiremos agregando contenido del bueno. Gracias por visitar el blog. Saludos

      Eliminar
  9. Muchas gracias por tanto material, tanto los apuntes como los ejercicios son de suma utilidad porque son claros y concisos. Hace poco que conocí esta pagina y voy por la parte 4 de los ejercicios, por ahora sin mayores dificultades. Desde Argentina esperando nuevos desafios!

    ResponderEliminar
    Respuestas
    1. y si compartes tus soluciones de todas los ejercicios propuestos, por favor ?

      Eliminar
  10. Gracias Mauro por tu comentario. Estaremos subiendo más ejercicios para seguir avanzando en este maravilloso lenguaje. Saludos y nos vemos por aquí ;)

    ResponderEliminar
  11. Acabo de descubrir este blog, es grandioso!

    ResponderEliminar
    Respuestas
    1. Excelente! seas Bienvenido esperamos poder ayudarte en lo que este a nuestro alcance.

      Eliminar
  12. Un grupo de empresarios ha formado la Liga Global de Básquetbol y se han reunido 10 equipos:
    Los Puros de Cuba
    Los Frijoles de Chile
    Los Huevos de Motul
    Los Tiburones del Pacífico
    Los Patos de Pekín
    Los Tamales de Oaxaca
    Las Torres de París
    Los Pastores de Alemania
    Los Caldos de Tlalpan
    Los Milagros de Lourdes
    Después de cada juego, se procesa el resultado del mismo, que indica, por ejemplo:
    Cuba, 6, Pekín, 3
    Donde Cuba es local, su puntuación fue 6, Pekín fue visitante y su puntuación fue 3.
    Cada equipo gana dos puntos por victoria, un punto por empate y no gana nada si pierde.
    La tabla de posiciones de los equipos se publica en el siguiente formato:
    Equipo Juegos Ganados Perdidos Empates Puntos

    Esta tabla se actualiza con cada partido, a partir de los resultados del penúltimo partido. Los equipos deben anotarse en orden decreciente de sus puntos (de mayor a menor puntaje).
    Al finalizar la temporada, deberán arrojarse los tres primeros lugares, en la tabla de puntuaciones.

    De que forma harian este? tengo ya una vision de como hacerlo, usaria una funcion random

    ResponderEliminar
  13. Buenas, soy nuevo con esto de python y en la programacion, la verdad no lo entiendo mucho y me mandaron a hacer este ejercicio, gracias de antemano la verdad necesito saber como se hace.

    Realizar un programa en Python que cumpla con los siguientes parámetros:
    1. Calcule el punto de intersección entre dos rectas
    2. Los parámetros de las rectas deben ser ingresados por el usuario
    3. El programa debe guiar al usuario a través del proceso de calculo
    4. El programa debe presentarse así mismo así como presentar los datos
    de salida
    5. Debe poseer la capacidad de detectar errores en la entrada del usuario
    6. Debe poseer la capacidad de detectar si las rectas no se intersectan
    7. Graficar ambas rectas

    ResponderEliminar
    Respuestas
    1. Hola, los voy a proponer en una entrada nueva. Saludos

      Eliminar
    2. Hola, disculpa tienes este ejercicio resuelto? De ser asi, podrias por favor enviarlo a mi correo electronico, liceos2013@hotmail.com por favor?

      Eliminar
  14. Acabo de entrar al blog, se ve que es de mucha ayuda, de antemano gracias por el aporte, me apasiona el mundo de la programación. Gracias.

    ResponderEliminar
    Respuestas
    1. Muchas gracias Erick por tu visita. Estamos a las ordens. Saludos ;)

      Eliminar
  15. necesito un problema en eclipce que sea de cambios climaticos

    ResponderEliminar
  16. necesito un problema en eclipce que sea de cambios climaticos

    ResponderEliminar
  17. Hola,Por favor pon informacion de Matrices,y ejercicios para poder entender mejor. porfaaa!

    ResponderEliminar
  18. Gracias por tan buena ayuda a los que recién empezamos en Python.
    Saludos desde Mallorca.

    ResponderEliminar
    Respuestas
    1. Gracias Miguel por visitar el blog. Estamos para compartir y ayudar. Saludos!!!

      Eliminar
  19. gracias por toda la data! estoy aprendiendo

    ResponderEliminar
  20. Hola podrías hacer como multiplicar los polinomios siendo dos listas. Ellos nos han dau una función para convertir en polinomio pero no se como hacer para multiplicar y así luego meter en la función d convertir en polinomio

    ResponderEliminar
    Respuestas
    1. Hola, gracias por visitar el blog!!! Podrías mostrar algo del código?
      Saludos

      Eliminar
    2. def coefstr(coef,force_sign=True):
      if coef==-1:
      return "-"
      if coef==1:
      if force_sign:
      return "+"
      else:
      return ""
      if force_sign:
      return "{0:+1g}".format((coef))
      else:
      return "{0:1g}".format((coef))

      def powstr(x,code):
      s=""
      while x>0:
      s=code[x%10]+s
      x//=10
      return s

      def printPol(p):
      # goi-indizeen Unicode kodeak: 0, 1, 2, ... , 9
      code=["\u2070","\u00B9","\u00B2","\u00B3","\u2074","\u2075","\u2076","\u2077","\u2078","\u2079"]
      expo=len(p)-1
      s=coefstr(p[expo],force_sign=False)
      if expo>0:
      s+="x"
      if expo>1:
      s+=powstr(expo,code)
      expo-=1

      while expo>0:
      if p[expo]!=0:
      s+=coefstr(p[expo])
      s+="x"
      if expo>1:
      s+=powstr(expo,code)
      expo-=1

      if expo==0 and p[expo]!=0:
      s+="{0:+1g}".format(p[0])
      return s
      Estas son las dos funciones que al final utilizas. Yo lo que quiero saber es como teniendo dos listas y pensando que al final tendremos que meten en la función printpol como multiplico las listas. No se me ocurre la función para hacerlo.

      Eliminar
    3. Son dos polinomios (las listas en si)

      Eliminar
  21. Buenos días, necesito una gran ayuda con este problema... No se como hacerlo:
    1.-Solución de sistema de ecuaciones

    Definir una función lin_solve(A,B) que resuelve el sistema lineal de ecuaciones A· x = B empleando el método de Gauss-Jordan. La función debe devolver la secuencia de operaciones a realizar sobre A|B, y el vector solución.

    Ejemplo de funcionamiento:

    >>> lin_solve([[1,0,0], [0,2,0], [2,0,3]], [1, 0, 2])
    ([('div', 1, 2), ('mac', 2, 1, -2), ('div', 2, 3)], [1, 0, 0])

    Hemos representado las operaciones por una tupla, que incluye una cadena ('div' para dividir, 'mac' para multiplicar y sumar, etc.) seguida de los argumentos necesarios (fila donde se aplica, fila con la que se opera, factor de multiplicación, etc.). Tu puedes representar las operaciones de forma diferente. Por ejemplo, se recomiendan clases.

    ResponderEliminar
    Respuestas
    1. Hola, tienes algo hecho para poder guiarte??
      Saludos y gracias por visitar el blog!!!

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
    3. Pues no te voy a mentir... No se por donde pillarlo, estuve el otro día haciendo un problema que me escalonaba inferiormente la matriz, pero este ejercicio no se ni como empezar... Ojala me ayudases :/

      Eliminar
  22. no sabes de un sitio para guiarme oque este resuelto un rompecabezas en python. gracias cualquier cosa este es mi correo nidiannyvalera@gmail.com

    ResponderEliminar
    Respuestas
    1. Hola Nidianny, gracias por visitar el blog!!!
      Si escribes en Google: "Python puzzle example" encontraras un monton de ejemplos!!!

      Saludos

      Eliminar
  23. hola excelente trbajo. necesito hacer este ejercicio y no le entiendo nada si m pueden ayudar porfavor Una terna pitagórica consiste en una tupla de tres enteros positivos a, b, c que cumplen que a² + b² = c². El nombre deriva del teorema de Pitágoras, el cual plantea que en cualquier triángulo rectángulo, se cumple que x² + y² = z² (siendo x e y las longitudes enteras de sus catetos y z la de la hipotenusa). En sentido contrario también se cumple, o sea, cualquier terna pitagórica se puede asociar con las longitudes de dos catetos y una hipotenusa, formando un triángulo rectángulo. Las ternas pitagóricas suelen representarse como (a,b,c). Las ternas cuyos tres números son coprimos reciben el nombre de ternas pitagóricas primitivas. Las 16 primeras ternas pitagóricas primitivas, con c ≤ 100 son: ( 3 , 4 , 5 ) ( 5, 12, 13) ( 7, 24, 25) ( 8, 15, 17) ( 9, 40, 41) (11, 60, 61) (12, 35, 37) (13, 84, 85) (16, 63, 65) (20, 21, 29) (28, 45, 53) (33, 56, 65) (36, 77, 85) (39, 80, 89) (48, 55, 73) (65, 72, 97) Dos números son coprimos (primos entre sí) si no tienen otro divisor en común más que 1, o dicho de otra manera, si su máximo común divisor es 1. Por ejemplo 6 y 35 son coprimos, pero 6 y 27 no lo son porque ambos son divisibles entre 3. Utilizando el algoritmo de Euclides podemos obtener el máximo común divisor entre dos números: Algoritmo de Euclides de manera iterativa: Mientras b != 0 entonces a = b, b = residuo de a / b. Elaborar dos funciones, la primera calculará si dos números son coprimos, la segunda función que muestre las ternas pitagóricas primitivas (aquellas donde a y b son coprimos) donde c =< 1000 y que el programa muestre el tiempo que se tarda el mismo en elaborar la búsqueda de las ternas. -- Generador de triples de Pitágoras – Ingrese el valor máximo de c: 15 1. (3, 4, 5) 2. (5, 12, 13)
    Tiempo transcurrido: 0.0012 segundos

    ResponderEliminar
    Respuestas
    1. Hola Samira, has podido hacer algo?
      Saludos y gracias por participar en el blog!!!

      Saludos

      Eliminar
    2. Hola Samira, ya me imagino y cuento con ello que llego bien tarde, soy nuevo en el blog y hace solo unos días
      que voy curioseando por el. Descubrí tú ejercicio ayer y me gusto al momento, así que, aunque no veas mi solución,
      he disfrutado haciéndolo.

      Eliminar
  24. Hola, tengo Python instalado en mi equipo pero no se si se necesita algún otro programa para ejecutar las acciones que le mando. Tengo el Sublime Text 3 pero no se como introducir el Python para poder operar con el lenguaje de Python, me podrías ayudar, por favor?

    ResponderEliminar
    Respuestas
    1. Si abres la consola y escribes python ¿Te abre el shell de Python?

      Saludos

      Eliminar
  25. hola señor diego, te escribo desde colombia, estoy en clase de informatica, y te queria pedir que me resuelbas los
    sigientes programas en pyton:
    cuadrado
    rectangulo
    triangulo
    rombo
    trapecio
    reloj de arena
    corbatin
    y una "estrella" como para hacer una piramide en 3d
    GRACIAS (espero que contestes por lo menos en dos dias con respuesta)

    ResponderEliminar
    Respuestas
    1. Hola señor Anónimo, acá no se resuelven ejercicios y menos exigiendo tiempo de entrega. Si tienes alguna duda puntual o código para mostrar será bienvenido y en caso de saber ayudarte seguro lo haré.
      Saludos, Diego

      Eliminar


  26. buenas tardes me gustaria que me pudieran ayudar con este programa xfa
    Desarrollar un programa que permita el ingreso de datos de n 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

    Características del desarrollo

    ● El programa debe ser desarrollado en python

    ● Se debe crear la clase Empleado

    ● En el desarrollo se deben implementar las siguientes funciones:

    Dentro de la clase Empleado:

    def leer()

    #lee los datos necesarios del empleado, se debe validar mediante expresiones regulares que los

    datos de nombre y apellido solo contengan letras, que la cédula posea 10 dígitos y finalmente

    que el sueldo permitido sea mayor al sueldo básico en Ecuador

    def imprimir()

    #imprime todos los datos del empleado

    También debe implementar las siguientes funciones:

    def buscarEmpleadoPorCedula(ListaEmpleados, cedulaAbuscar)

    #Recibe una lista de empleados y la cédula a buscar, el valor de retorno será el #objeto

    empleado (en caso de encontrar un empleado con la cédula buscada)

    Def obtenerEmpleadoMayorSueldo(ListaEmpleados)

    #retorna el objeto empleado que tenga el mayor sueldo, recibe como parámetro una lista de

    empleados.

    Def obtenerEmpleadoMenorSueldo(ListaEmpleados)

    #retorna el objeto empleado que tenga el menor sueldo, recibe como parámetro una lista de

    empleados.

    ResponderEliminar
    Respuestas
    1. amigo obtuviste la respuesta...... si es asi, por fa me podrias ayudar con ese ejercicio?

      Eliminar
    2. Hola, has podido realizar alguna parte del ejercicio? en que parte te trancas?
      Saludos y gracias por visitar el blog!!!

      Eliminar
    3. nada mi amigo recien estoy aprendiendo lo basico, ayudame por fa con este ejercicio

      Eliminar
    4. ayudame con todo por favor, si no es mucha molestia
      Te lo agradeceria si me ayudas antes del sabado en la mañana

      Eliminar
  27. yo vivo en canada y en la escuela los ninos llevan estos cursos.

    ResponderEliminar
    Respuestas
    1. y tendra algun programa parecido como para poderme guiar

      Eliminar
  28. yo vivo en canada y en la escuela los ninos llevan estos cursos.

    ResponderEliminar
  29. oe me podrias ayudar con un programa?

    ResponderEliminar
  30. me podrian ayudar a un procesamiento de imagenes, por ejemplo si tomo 2 fotografias de un automovil una antes de que circule y otra despues de que circule y haga un calculo de cuantos kilometros recorrio, lo he intentado muchas veces y no me sale, porfa alguna ayuda. por su atencion gracias.

    ResponderEliminar
  31. alguien me puede ayudar
    La empresa de construcción “Edificios altos de Colombia S.A” desea llevar un control más estricto
    de los materiales y suministros que gasta en cada una de sus obras. Para esto la empresa cuenta
    con una bodega principal en la ciudad de Bogotá donde despacha todos los suministros hacia el
    resto del país. La bodega de la empresa se divide en varias secciones como se muestra en la figura
    1. En la sección amarilla se almacenan los bultos de cemento que se envían a cada obra. En la sección
    verde, se almacenan las varillas enviadas a cada locación. En la sección roja, se guardan los ladrillos
    que serán enviados a cada obra. Finalmente, en la sección azul, se almacena el cableado eléctrico,
    medido en metros que será usado en cada construcción.
    BGA BOG BGA BOG
    MED MAN MED MAN
    BGA BOG BGA BOG
    MED MAN MED MAN
    Figura 1: Distribución de la bodega central de la empresa
    Actualmente la empresa cuenta con 4 obras distribuidas en Bucaramanga (BGA), Medellín (MED),
    Bogotá (BOG) y Manizales (MAN). Como se muestra en la figura 1, cada obra tiene un espacio
    asignado en las secciones de la bodega. Adicionalmente, para cada obra la empresa ha establecido
    los montos máximos de materiales que pueden ser enviados como se muestra en la Figura 2.
    10000 15000 3000 6000
    50000 7000 8000 1500
    70000 40000 2500 7500
    100000 9000 5000 1700
    Figura 2: Máxima cantidad de cada material que se puede enviar a cada obra
    Teniendo en cuenta el número de obras que tiene la empresa y la cantidad de materiales que debe
    utilizar, se requiere el desarrollo de un programa en Python que lleve el registro de los materiales
    almacenados y enviados a cada obra. Este programa contara con las siguientes opciones:
    1) Solicitud de suministros: Inicialmente el programa preguntara la ciudad a la que se desean
    enviar los materiales. Posteriormente, se pedirá al usuario que ingrese la cantidad de cada
    material que se desea enviar. Luego, el programa verificara si los materiales disponibles
    alcanzan para cubrir el pedido. De ser así, el programa mostrara un mensaje indicando que
    se pueden enviar los materiales y actualizara las cantidades de material disponible. De lo
    contrario, el programa mostrara un mensaje indicando que no es posible cumplir el pedido.
    2) Reporte: Esta opción mostrara en la pantalla un reporte con la información actual de la
    bodega. El reporte debe imprimir primero la matriz que conforma la bodega.
    Posteriormente, pedirá al usuario que seleccione una de las obras para luego mostrar en
    detalle cuanta cantidad de cada elemento hay disponible.
    3) Alarma: En esta opción se alertará al usuario si un material de alguna obra se encuentra por
    debajo del 20% de su valor total. Para esto el programa solicitara la obra y luego evaluara si
    las existencias de materiales se encuentran por debajo del 20%. De ser así el programa
    imprimirá un mensaje que indique cual material se encuentra por debajo del 20%
    4) Opción de salida

    ResponderEliminar
  32. ¡Hola!
    Gracias a gente como vosotros, hasta los "eternamente jóvenes" como yo, nos enteramos de cómo aprender a programar.

    Así que, voy a aprovechar que os pillo idefensos con mis halagos, para ponerme algo pesao y haceros una pregunta.

    Estoy siguiendo el curso "Python para niños" (eternamente joven, recuerden) y en principio es un libro divertido y que se lleva bien.
    El problema que tiene, es que a veces se dan cosas por sabidas y me quedo atascado.
    Por ejemplo, el siguiente ejercicio, que se supone que tiene que dibujar un rectángulo aleatorio en Python 3:
    ¿Qué es lo que hago mal?
    ¡Gracias! 8-)

    # Canvas rectángulo
    from tkinter import *
    ventana = Tk()
    lienzo = Canvas(ventana, width=400,height=400)
    lienzo.pack()
    import random
    def rectangulo_aleatorio(lienzo, ancho, alto):
    x1 = random.randrange(ancho)
    y1 = random.randrange(alto)
    x2 = x1 + random.randrange(ancho-x1)
    y2 = y1 + random.randrange(alto-y1)
    lienzo.create_rectangle(x1, y1, x2, y2)

    ResponderEliminar
  33. Hola buenas madrugadas, me podrían ayudar con un ejercicio que capture cualquier numero y lo codifique en BCD mas o menos empece así pero me atore gracias.

    y=x.LEN
    for i
    xi=int([x.LEN])
    while(xi)
    x2=Xi%2
    x3=xi/2
    printx3

    ResponderEliminar
  34. hola me podrían ayudar a resolver este problema de antemano gracias
    Test Objective Realizar cálculos del tamaño relativo del rango de los métodos y clases (tamaño) para very
    small VS (muy chico), small S (chico), médium M (mediano), large L (grande), and very
    large VL (muy grande) usando la desviación estándar y el logaritmo natural de los valores.
    S = ln(Se)
    M = ln(Me)
    L = ln(Le)
    VL = ln(VL)
    Test
    Description
    La primera prueba consiste en dos arreglos con datos, son trece por cada arreglo, la primera operación
    cosnsiste en una división de cada elemento de cada arreglo en su posición, o sea el primero con el primero
    y el segundo con el segundo, los trece valores resultantes son almacenados en otro arreglo del mismo
    tamaño.
    La segunda operación consiste en obtener el logaritmo de cada valor almacenado en el tercer arreglo.
    Después la tercera operación consiste en realizar la sumatoria de toda la columna anterior (lnx) para
    después obtener el promedio.
    Enseguida obtenendremos la varianza restando cada logaritmo del tercer arreglo menos el promedio y esa
    resta la elevamos a la potencia cuadrada y almacenamos en otro arreglo mas, después realizar una
    sumatoria de esa operacion o sea de todo el arreglo y la dividiremos entre n elementos – 1 en este caso es
    13 – 1 =12.
    Después al resultado de esa operación le sacamos la raíz cuadrada y obtendremos el valor de la desviación
    estadar.
    Después haremos los siguientes cálculos almacenados en las variables mencionadas anteriormente.
    logVS= avglogaritmox-(2*desvestand_varianza)
    logS=avglogaritmox - desvestand_varianza;
    logM = avglogaritmox;
    logL = avglogaritmox + desvestand_varianza;
    logVL= avglogaritmox + (2*desvestand_varianza);
    y por ultimo para obtener los resultados esperados elevaremos cada uno de los resultados anteriores al
    exponente.
    VS =
    ln(VS )
    e
    S =
    ln(S )
    e
    M =
    ln(M )
    e
    L =
    ln(L)
    e
    VL=eln(VL)

    Class Name Class LOC Number of
    Methods
    each_char 18 3
    string_read 18 3
    single_character 25 3
    each_line 31 3
    single_char 37 3
    string_builder 82 5
    string_manager 82 4
    list_clump 87 4
    list_clip 89 4
    string_decrementer 230 10
    Char 85 3
    Character 87 3
    Converter 558 10
    Expected
    Results
    VS S M L VL
    LOC/Method 4.3953 8.5081 16.4696 31.8811 61.7137

    ResponderEliminar
  35. hola! me podrian ayudar!!!
    como sacar el RFC en Python, nuestra profesora nos dejo una serie de ejercicios y el ultimo es ese, pero la verdad no se ni por donde empezar o que show!!!
    se los agradeceria, de antemano muchas gracias!!!

    ResponderEliminar
  36. ¿Para cuando las soluciones del resto de ejercicios?

    ResponderEliminar
  37. Que paso con lo demas ??? Que no decaiga !

    ResponderEliminar
  38. Ayudame men : un programa que me permota ingresar 4 notas de 2 estudiantes por separado, imprimir los promedios de las notas de cada estudiante e indicar si los estudiantes aprobaron o reprobaron

    ResponderEliminar
  39. hola, soy nueva en esto de programar con python y tu blog me ha parecido genial. quisiera que me ayudaras con un ejercicio que aun no me sale:
    PIRAMIDE DE NUMEROS
    para n=5 debe arrojarme la siguiente figura:
    1
    234
    56789

    para n=7 debe arrojarme la siguiente figura:
    1
    234
    56789
    0123456

    Gracias.

    ResponderEliminar
    Respuestas
    1. hola, soy nueva en esto de programar con python y tu blog me ha parecido genial. quisiera que me ayudaras con un ejercicio que aun no me sale:
      PIRAMIDE DE NUMEROS
      para n=5 debe arrojarme la siguiente figura:
      ..1..
      .234.
      56789

      para n=7 debe arrojarme la siguiente figura:
      ...1...
      ..234..
      .56789.
      0123456

      Gracias.

      Eliminar
    2. Hola Anonimo, el ejercicio que, entiendo propones, es formar un triángulo equilatero con números de una sola cifra,
      hasta una determinada linea indicada por la variable 'n', esta variable te indica cual es la unidad del número que
      contiene una de las cifras de la última linea a hacer.
      Construyamos ahora (para un mejor entender) un triángulo con todas las posibilidades de 'n', desde 1 al 196:
      --------------------1-------------------- n = 1
      -------------------234------------------- n: del 2 al 4
      ------------------56789------------------ n: del 5 al 9
      -----------------0123456----------------- n: del 10 al 16
      ----------------789012345---------------- n: del 17 al 25
      ---------------67890123456--------------- n: del 26 al 36
      --------------7890123456789-------------- n: del 37 al 49
      -------------012345678901234------------- n: del 50 al 64
      ------------56789012345678901------------ n: del 65 al 81
      -----------2345678901234567890----------- n: del 82 al 100
      ----------123456789012345678901---------- n: del 101 al 121
      ---------23456789012345678901234--------- n: del 122 al 144
      --------5678901234567890123456789-------- n: del 145 al 169
      -------012345678901234567890123456------- n: del 170 al 196
      En cuanto tenga el programa hecho, lo mejor y más simple que pueda te lo paso. Ten paciencia, seguro que lo consigo.

      Eliminar
    3. num1 = 2
      num2 = 1
      n = input("Hata que Número deseas que haga el Triángulo; Elige entre 2 y 841: ")
      n = int(n)
      print()
      print(" "*40 + str(1))
      for fila in range(2,30):
      ----num2 = num2 + 2 #Números tiene la siguiente fila.
      ----print(" "*(41-fila), end="")
      ----for x in range(num1, num1+num2):
      --------if len(str(x)) > 1: z = int(str(x)[-1])
      --------else: z = x
      --------print(z, end="")
      ----print()
      ----num1 = x + 1
      ----if int(n) <= x: break
      print("\nLa última cifra de la base del triángulo corresponde a las unidades del Número:", x)

      Eliminar
    4. No entiendo qué quieres decir con 'la unidad del número que
      contiene una de las cifras de la última linea a hacer' :( Por otro lado en el enunciado que se propone me da la impresión de que n simplemente define el número de elementos (en este caso números de un dígito consecutivos) que hay en la base de la pirámide, vamos que habría que hacer algo que descarte las n pares o las identifique con un impar y dichos impares los identifique como el número de dígitos que hay en la base de la pirámide, ya que en el ejemplo n=5 hay 5 números en la base, y n=7 hay 7 números en la base y en tu ejemplo para n=7 hay 5 números en la base si es que entendí bien, que es probable que no. Un saludo!

      Eliminar
  40. #Devuelve en una lista los triples Pitágoricos que esten entre 'numero1' y 'numero2'.
    def triplesPitagoricos(numero1, numero2):
    ----if numero1 > numero2: numero1, numero2 = numero2, numero1
    ----a, b, c = 0, 0, 0
    ----lisPitagoricos = []
    ----for c in range(numero1, numero2-1):
    --------for b in range(c+1,numero2):
    ------------for a in range(b+1, numero2+1):
    ----------------if a**2 == b**2 + c**2: #Triple Pitagorico Encontrado.
    --------------------lisPitagoricos.append([a, b, c])
    ----return lisPitagoricos

    #Dos números son coprimos entre sí, cuando su MCD es igual a 1.
    #Si son coprimos devuelve True, de lo contrario False.
    #Para descubrir los coprimos, uso el algoritmo de Euclides.
    def sonCoprimos(numero1, numero2):
    ----if numero1 == numero2: return False
    ----if numero1 == 1 or numero2 == 1: return True
    ----if numero1 > numero2: numero2, numero1 = numero1, numero2
    ----if numero2 % numero1 == 0: return False
    ----while True:
    --------resto = numero2 % numero1
    --------if resto == 0:
    ------------if numero1 == 1: return True
    ------------else: return False
    --------numero2, numero1 = numero1, resto

    #Comprueba Validez de Entrada Númerica realizada, debe de estar dentro del Rango de los argumentos de inicio y final.
    def entNumRangoDos(entrada, inicio, final):
    ----if inicio > final:
    --------inicio, final = final, inicio
    ----if len(set(entrada)-set("1234567890")) != 0 or entrada == "":
    --------print("\nLa Entrada tiene caracteres No Numéricos ó esta Vacia.")
    --------input("Pulsa Enter para Continuar...")
    --------return False
    ----else:
    --------numero = int(entrada)
    ----if numero < inicio or numero > final:
    --------print("\nLa Entrada está fuera del Rango de",inicio,"a",final,"Permitido.")
    --------input("Pulsa Enter para Continuar...")
    --------return False
    ----return True

    from os import system
    num1 = num2 = 0
    while True:
    ----system('clear')
    ----print("===========================================")
    ----print("** GENERAR TERNAS PITAGORICAS PRIMITIVAS **")
    ----print("===========================================")
    ----print()
    ----if num1 == 0:
    --------num1 = input("Número de Inicio empezará a buscar ternas Pitágoricas? (Rango de 1 a 800): ")
    --------if not entNumRangoDos(num1, 1, 800):
    ------------num1 = 0
    ------------continue
    ----else:
    --------print("Número de Inicio empezará a buscar ternas Pitágoricas? (Rango de 1 a 800): " + str(num1))
    ----num1 = int(num1)
    ----num2 = input("Número Final, hasta el que buscará ternas Pitágoricas? (Rango de " + str(num1+10) +
    ----" a 1000): ")
    ----if not entNumRangoDos(num2, num1+10, 1000): continue
    ----num2 = int(num2)
    ----lisP = triplesPitagoricos(num1, num2)
    ----print()
    ----n = 0
    ----for li in range(len(lisP)):
    --------if (sonCoprimos(lisP[li][0], lisP[li][1]) and sonCoprimos(lisP[li][0], lisP[li][2]) and
    --------sonCoprimos(lisP[li][1], lisP[li][2])):
    ------------n += 1
    ------------print("Terna Pitágorica Primitiva {0:2d}: ".format(n) +
    ------------"a b c = {0:3d} {1:3d} {2:3d} Comprobación: a² = {3:6d} b² + c² = {4:6d}"
    ------------.format(lisP[li][0], lisP[li][1], lisP[li][2], lisP[li][0]**2, lisP[li][1]**2 + lisP[li][2]**2))
    ----if n == 0:
    --------print("\nEntre esos Números de Inicio Final dados, NO hay Ternas Pitágoricas Primitivas.")
    ----break

    ResponderEliminar
  41. Realiza un programa que proporcione el desglose en billetes y monedas de una cantidad entera de dolares. Recuerda que hay billetes de 100, 50, 20, 10 y 5 y monedas de 1, 0.50, 0.25, 0.10, 0.05 y 0.01 . Debe ˂˂recorrer˃˃ los valores de billete y moneda disponibles con uno o más bucles for-in.

    ayuda!

    ResponderEliminar
  42. Muy buenas, antes de todo dar la enhorabuena por este gran blog, es de mucha ayuda. Estoy empezando a programar con python y necesito ayuda urgente con un ejercicio.
    Tengo un excel con datos y se trata de copiar algunas columnas en un excel nuevo que debo crear.Estoy usando openpyxl y no consigo encontrar la manera correcta de hacer esto.
    Espero vuestra ayuda, muchas gracias de antemano.

    Saludos.

    ResponderEliminar
  43. Como hago un programa donde ingrese el nombre de un arbol y me imprima el nombre cientfico y la familia, ademas de que cuando se ingrese otro nombre diferente imprima que no pertence, muchas gracias.

    ResponderEliminar
  44. Dado un numero n se quieres multiplicar sus digitos, luego repetir sucesivamente hasta obtener un solo digito.
    Por ejemplo:

    n=77
    iteracion N multiplicación
    1 77 7*7=49
    2 49 4*9=36
    3 36 3*6=18
    4 18 1*8=8

    Como se ve se hicierón 4 iteraciones para llegr a un numero de un solo digito.
    alguien me ayuda no entiendo

    ResponderEliminar
  45. 4. Elabore un programa en Python que haga lo siguiente:
    - Usando un bucle FOR ó WHILE almacenar en una lista A, 10 números enteros y en una lista B, 10 números enteros que se digitan por teclado USANDO LA FUNCIÓN INPUT.
    - Para digitar por teclado los 10 números enteros de cada lista, el programa debe llamar una FUNCIÓN POR CADA LISTA.
    - Se debe usar el paquete NUMPY para convertir cada lista en un ARRAY(Vector).
    - Se deben sumar los dos vectores y el resultado se debe guardar en un vector C.
    - Finalmente el programa debe llamar una FUNCIÓN para mostrar por pantalla el contenido de LOS 3 VECTORES.
    - EL PROGRAMA SE DEBE ENVIAR A TRAVÉS DEL AULA EN EL FORMATO DE PYTHON .py dentro de la fecha límite que aparece en el aula. NO SE RECIBE POR CORREO ELECTRÓNICO.

    ResponderEliminar
    Respuestas
    1. por fa quien me puede ayudar ,, lo tengo empezado... es urgente

      Eliminar
  46. Desarrolle un programa en Python que haga lo siguiente:

    El programa debe pedir por teclado al usuario la cantidad de boletos de avión, una vez colocada la cantidad, el programa debe pedir por teclado si la compra del boleto es de día, tarde o noche, una vez colocada la opción debe almacenar cuantos boletos y el total que se compró según la jornada (dia,tarde o noche). Debe mostrar un mensaje diciendo el total o cantidad de boletos comprados más la jornada y el total del precio por la cantidad de dichos boletos comprados. Luego debe el programa preguntar si desea continuar con la compra (S/N).

    Tome en cuenta que las opciones de (S/N) debe determinar si la respuesta la colocó en mayúscula o minúsculas al igual que las jornadas.

    ResponderEliminar
  47. por favor ayudenme lo necesito para mañana. se le agradecería mucho.

    ResponderEliminar
  48. lista = [1,2,3,4,5,6,7,8,9]


    import random
    count = 0

    while True:


    Input = int(input("Ingresa suma: "))
    while count == 82:
    VV = random.choice(lista)
    VB = random.choice(lista)
    V = (VV + VB)
    count += 1
    if V == Input:
    print("La suma de ", VV, " y ", VB, "Da ", Input)
    break
    print("La suma de ", Input/2, "Y", Input/2, "Da", Input, "(No estan en la lista)")
    ayudenme este es mi codigo nesecito que el usuario meta una suma y le den que numeros se necesitan
    para que de esa suma

    ResponderEliminar
  49. Calcular el salario semanal de un trabajador. Se calcula en base a las horas trabajadas, el pago por hora es variable. Si las horas trabajadas superan las 40 el pago de horas extras y es doble...(Necesito ayuda con este ejercicio, soy nueva en esto)

    ResponderEliminar


  50. INACAP, para el proceso de acreditación necesita saber cuántos alumnos
    estudian con gratuidad, con CAE, con Beca Institucional, o pagan directamente
    el arancel de matrícula. Se le ha encargado el desarrollo de un programa de
    registro del sistema de pago del arancel por sede.
    Para cada una de las sedes, el usuario debe ingresar el nombre de la Sede y la
    forma de pago del arancel de sus alumnos, que pueden ser: gratuidad (G), CAE
    (C), Beca Institucional (B) o pago directo (P). El término del ingreso de datos por
    sede se indica ingresando una X y finaliza de leer datos cuando se ingresa F en
    el nombre de la sede, tras lo cual se debe mostrar los totales de cada sistema de
    pago por sede, con el formato que se muestra en el ejemplo.
    Finalmente, el programa debe mostrar los totales de cada sistema de pago en
    todo INACAP.
    Ejemplo:
    Sede: Arica
    Alumno1: G
    Alumno2: P
    Alumno3: B
    Alumno4: C
    Alumno5: G
    Alumno6: X
    Arica: Gratuidad: 2 CAE: 1 Beca: 1 Pago Directo: 1
    Sede: Iquique
    Alumno1: G
    Alumno2: G
    Alumno3: B
    Alumno4: C
    Alumno5: G
    Alumno6: X
    Iquique: Gratuidad: 3 CAE: 1 Beca: 1 Pago Directo: 0
    Sede: Antofagasta
    Alumno1: P
    Alumno2: G
    Alumno3: P
    Alumno4: P
    Alumno5: G
    Alumno6: X
    Antofagasta: Gratuidad: 2 CAE: 0 Beca: 0 Pago Directo: 3

    ResponderEliminar
  51. 1. Ingrese 3 números y diga cuál es mayor y menor.
    2. Ingrese un número y halle su factorial.
    3. Ingrese 3 números, ordenarlos y mostrarlos de menor a mayor.

    ResponderEliminar
  52. Hola, excelente blog.
    Alguien me puede ayudar con el siguiente ejercicio, no sé por donde empezar :(

    Un programa que dada una cantidad de dinero (con dos decimales, que los céntimos importan) vamos a devolver como salida la mejor combinación de billetes y monedas con las que se puede pagar, así que:

    Para facilitar las cosas vamos a suponer que estamos hablando de Euros.



    El programa pedirá un número con hasta dos dígitos decimales. Por ejemplo: 123.56



    Y mostrará el número de billetes de 500€, de 200€, de 100€, etc. así como las monedas de 2€, de 1€, etc. para poder pagar la cantidad solicitada.

    ResponderEliminar
  53. La empresa “SI SE PUEDE” decidió sistematizar su operación, para ello hablaron con un profesional de sus necesidades básicas para iniciar, las cuales son las siguientes:
    Debe, al abrir el sistema pedírsele un usuario y contraseña (Debe estar almacenado en un diccionario el usuario admin y contraseña admin)
    Si los datos de acceso coinciden entonces debe ingresar a un menú así:
    • INSERTAR
    • VENDER
    • ELIMINAR
    • MOSTRAR
    • USUARIOS
    • SALIR
    EN usuarios mostrara un menú que diga CREAR NUEVO USUARIO y CAMBIAR CONTRASEÑA
    En crear nuevo usuario va a pedir que se ingrese un usuario, una contraseña, y que se verifique la contraseña (si las dos coinciden entonces creara el usuario), si el usuario ya existe no hará nada y mostrara un mensaje que diga ERROR, USUARIO YA EXISTE.
    En cambiar contraseña va la nueva contraseña y que se verifique, si coinciden entonces cambiara la contraseña del usuario actual.
    En insertar va a pedir el código, nombre del producto, cantidad y el precio.
    En vender va a pedir el código del producto, al dar enter mostrará el precio, y después pedirá la cantidad (Debe restarse esta cantidad del producto)
    Al darle en eliminar va a pedir el código del producto y va a eliminarlo.
    Al darle en mostrar va a mandar a un submenú así:
    • VENTAS
    • EXISTENCIAS
    • RETROCEDER
    En ventas va a mostrar el código, nombre del producto, la cantidad de veces que se ha vendido y el total de dinero (Debe mostrar todos los productos vendidos)
    En existencias va a mostrar el código, nombre del producto, la cantidad que aún existen de ese producto y el precio de venta
    Pueden usar variables, listas y/o diccionario según lo amerite en su criterio para las operaciones que se van a realizar

    ResponderEliminar
  54. necesito resolver este ejercicio lo mas pronto por favor...gracias

    ResponderEliminar
  55. Utilizando Programación Orientada a Objetos crear un programa que calcule una aproximación al valor del ln(1−x) utilizando la siguiente sumatoria:

    ln(1−x)=−∑k=1nxkk
    Calcular el valor real de ln(1−x) con la función math.log(1-x)

    Caso de prueba
    n = 10
    x = 0.5
    valor real = -0.6931471805599453
    Aproximación = -0.693064856150793

    ResponderEliminar
  56. Podrían ayudarme con la resolución de este ejercicio

    Asuma que tiene una lista con el consumo de datos de las aplicaciones en su celular durante un mes como en el siguiente ejemplo:

    junio=["Fb-10MB","Spotify-55MB","Spotify-112MB","Ws-12MB", "Snapchat-100MB","Twitter-67MB","Twitter-89MB","Ws-120MB","Instagram-200MB"]

    Observe que las aplicaciones en la lista se pueden repetir.

    Escriba una función que reciba la lista de aplicaciones con sus consumos del mes y muestre por pantalla la cantidad de “Megas” que ha utilizado durante el mes por cada aplicación.

    Escriba el programa principal donde utilice la lista de aplicaciones que se le provee para invocar la función.

    Salida esperada:



    Fb - megas: 10
    Spotify - megas: 167
    Ws - megas: 132
    Snapchat - megas: 100
    Twitter - megas: 156
    Instagram - megas: 200




    ResponderEliminar
  57. Pida al usuario kilómetros cuadrados y muestre su equivalencia a hectáreas, tome en cuenta que 1 km2 equivale a 100 ha

    ResponderEliminar
  58. Escribir un programa que gestione las facturas pendientes de cobro de una empresa. Las facturas se almacenarán en un diccionario donde la clave de cada factura será el número de factura y el valor el coste de la factura. El programa debe presentar un menú con las siguientes opciones 1.-nueva factura, 2.- pagar una existente 3.- terminar. Si desea añadir una nueva factura se preguntará por el número de factura y su coste y se añadirá al diccionario. Si se desea pagar una factura se preguntará por el número de factura y se eliminará del diccionario. Después de cada operación el programa debe mostrar por pantalla la cantidad cobrada hasta el momento y la cantidad pendiente de cobro?

    ResponderEliminar
  59. a. Registrar los datos básicos de una factura y se almacenen en una clase
    a. Numero Documento
    b. Nombre del Cliente
    c. Valor Total de la Compra
    b. El sistema permite registrar un número indeterminado de facturas.
    c. El cliente podrá pagar la factura en efectivo o en tarjeta este dato también debe ser
    almacenado
    d. El sistema debe calcular y mostrar el valor del IVA de cada factura. En ningún momento
    este valor se puede almacenar.
    e. El sistema calculara el valor total de ventas.
    f. Cuando se registra una venta y se pregunta el número de documento el sistema debe
    verificar que el usuario no exista, si existe no le preguntara el nombre.
    g. El sistema utilizara solamente una clase llamada factura.
    h. El sistema mostrara la mejor venta registrada.
    i. Mostrar el monto de ventas en efectivo y en tarjeta

    ResponderEliminar
  60. Hola nesesito ayuda con esto un progra dada la hora minutos y segundo me imprima el tiempo transcurrido en un minuto me pueden ayudar x favor

    ResponderEliminar
  61. Hola nesesito ayuda con este ejercicio no me sale: ...Crear un objeto Alumno, mismo que los atributos inicialice con los datos personales del
    estudiante: Cédula, Nombres, Apellidos, estado civil, genero. Los mismos que mediante alguna
    acción se muestre los datos del alumno, los datos personales del estudiante debe ser ingresado
    por teclado (6p).

    ResponderEliminar
  62. hola me pueden decir como imprimir 10 numeros pares empezando desde el numero 10.
    y si el numero es multiplo de 3 imprima que es multiplo de 3
    y la suma de esos 10 numeros pares.
    ayuda porfavor

    ResponderEliminar
  63. Como podría escribir una función que que retorne una lista una lista de todas las ternas pitagóricas de números iguales o menos que 100 y que además cada terna debe representarse mediante una tupla

    ResponderEliminar
  64. 1.− Crear una clase Rect´angulo, con atributos base y altura. Crear tambi´en el constructor de la clase y los
    m´etodos necesarios para calcular el ´area y el per´ımetro. Crear otra clase PruebaRectangulo que pruebe
    varios rect´angulos y muestre por pantalla sus ´areas y per´ımetros.
    2.− Crear una clase Veh´ıculo, a trav´es de la cual se pueda conocer el color del auto, la marca, el modelo, la
    cilindrada, el n´umero de puertas y la matr´ıcula. Crear el constructor del auto, as´ı como los m´etodos que
    considere necesarios. Luego genere una lista de 20 autos con diferentes atributos y aplique un m´etodo
    para buscar un auto por marca y matr´ıcula.
    3.− Crear una superclase llamada Veh´ıculo. La clase Veh´ıculo tiene los siguientes atributos y m´etodos:
    1) velocidad;2) precioregular;
    3) color;
    4) PrecioVenta();
    Crear una subclase de Veh´ıculo y llamarla Camioneta. La clase Camioneta tiene los siguientes atributos
    y m´etodos:
    1) peso;
    2) PrecioVenta(); Si el peso es mayor a 2000, se aplica un 10 % de descuento, en otro caso, 20 % de
    descuento.
    Crear una subclase de Veh´ıculo y llamarla Ford. La clase Ford tiene los siguientes atributos y m´etodos:
    1) a˜no;
    2) DescuentoProductor; Ac´a al precio de venta calculado de la clase Veh´ıculo, restar DescuentoProduc-
    tor.
    Crear una subclase de Veh´ıculo y llamarla Sedan. La clase Sedan tiene los siguientes atributos y m´etodos.
    1) largo;
    2) PrecioVenta(); Si largo es m´as de 20 pies, se aplica un 5 % de descuento, en otro caso, 10 % de
    descuento.
    Luego:
    Crear tres objetos de la clase Sedan e inicializar todos los atributos con valores apropiados.
    Crear dos objetos de la clase Ford e inicializar todos los atributos con valores apropiados.
    Crear un objeto de la clase Vehiculo e inicializar todos los atributos con valores apropiados.
    Adem´as, agregalos a una lista y mostrar los precios de venta de todas los objetos anteriores. Tambi´en,
    generar un m´etodo que muestre vehiculos menores a un precio determinado, para ver si es posible comprar
    o no dicho veh´ıculo.

    ResponderEliminar
  65. alguien me podria ayudar con este
    1. Descripción de la tarea:Resuelve correctamente los siguientes
    Ejercicios utilizando los ficheros en Python.

    La empresa Demoliciones Twin Towers, S.A. para conmemorar el primer aniversario de su creación ha decidido informatizar la gestión de su personal. De cada trabajador, debemos almacenar su nombre y dos apellidos (todos cadenas de un máximo de 20 de caracteres), su número de trabajador (número natural) y su salario en Quetzales (número real).

    A. Insertar Empleado. Se pedirá por pantalla el número de trabajador y se comprobará que no existe un trabajador ya almacenado con ese número (en caso de existir se informará del error y se volverá a pedir el número). Posteriormente, se pedirán los datos del trabajador, así como el nombre del departamento en que va a trabajar.

    B. Buscar Empleado. Se solicitará el número de empleado y se mostrará por pantalla todos los datos del empleado, así como el nombre del departamento a que pertenece. Si el trabajador no existe se informará de ello.

    C. Visualizar Empresa. Se mostrará por pantalla todos los datos de todos los empleados que pertenecen a la empresa, así como el nombre del departamento a que pertenecen. Los trabajadores deben aparecer ordenados por su número de trabajador.

    D. Salvar Empresa a Fichero. Se pedirá el nombre de un fichero y se salvarán con el siguiente formato de texto(SP = ESPACIO):

    Por Ejemplo, la estructura del dibujo se salvaría: empresa.txt 23 Antonio García López 1345.20 Picapedreros

    E. Borrar Empleado. Se solicitará el número de empleado y se mostrará por pantalla todos los datos del emplados, así como el nombre del departamento a que pertenece. Si el trabajador no existe se informará de ello. Si existe, se pedirá confirmación de borrado y en caso de ser afirmativa, se eliminará.

    F. Cargar Empresa desde Fichero. Se solicitará el nombre de un fichero de texto con el formato anterior y se insertarán los trabajadores en la empresa. (Puede suponerse que no hay números de



    empleado duplicados). X. Salir del Programa. Se pedirá confirmación de salida y en caso de ser afirmativa, se saldrá del programa mostrando el nombre, apellidos y curso del alumno.

    ResponderEliminar
  66. - Construir un programa (tipo consola) que reproduzca las “operaciones de una máquina de café”, en específico programar las funciones de:
    - Mostrar un menú que contenga 3 tipos de cafés con su respectivo valor c/u o retirarse de la máquina
    - El Usuario selecciona el tipo de café
    - La Máquina solicita ingresar (digitar) el monto con el cual paga su café
    - La máquina verifica que el monto con el que paga alcance a cubrir el valor del café seleccionado, caso contrario volver a pedir monto a pagar, hasta que sea válido
    - Ya correcto el monto ingresado para pagar el café, la máquina calcula y muestra el vuelto si corresponde
    - La Máquina muestra mensaje “Café en preparación “, luego otro mensaje que indica “Retire su café “
    - Contemplar, la opción de presentar nuevamente el menú de tipos de cafés, para repetir el proceso de comprar otro café. Cada vez que un mismo cliente pide otro vaso de café, guardar en una lista (arreglo) el n° del café. Entonces si pidió 3 cafés, la lista debe tener almacenado tres valores: 1, 2, 3. Cuando ya no quieres más café muestra la lista de cafés
    - Al terminar el programa la máquina se despide del usuario deseándole un “Buen día”

    ResponderEliminar

  67. Desarrollar un algoritmo en python donde al ingresar el código 12 realice un conteo progresivo. En el conteo, el usuario será capaz de indicar dónde inicia, dónde termina y podrá escoger la iteración del ciclo. Si el código es 46, el programa realizará un conteo regresivo del 10 al 0 y cuando pase por el número 4 debe mostrar un mensaje indicando el número. En caso de que el código no se encuentre registrado, el programa debe realizar la multiplicación y suma de 4 números que el usuario elija.

    ResponderEliminar
  68. Escriba un script en python que dado un numero imprima el día,esdecir, si el usuairo escribe 0 el programa debe deescribir en pantalla Domingo, si escribe 3 debe de escribir en pantalla miércoles. Si escribe un número mayor a 7 debe de mostrar en pantalla el texto: "valor invalido"
    Me pueden ayudar por favor

    ResponderEliminar
  69. buenas me puede ayudar este poder hacer en python


    Uno de los clientes de Transportes del Norte es Frigoaves S.A.S., una empresa de alimentos que requiere mantener un control estricto sobre los tiempos de despacho de sus mercancías en sus 20 puntos de distribución. Actualmente, cada camión cuenta con un portal de antenas RFID, que realizan la lectura de cada caja de mercancía que sale por las puertas de su contenedor.

    Además del control de inventario, Transportes del Norte desea brindarle a Frigoaves la posibilidad de llevar el control de tiempos de despacho que realiza en cada punto de distribución asignado, para garantizar las exigencias del Departamento de Logística de Frigoaves.

    Por su parte, Frigoaves ha definido los siguientes parámetros: Un tiempo máximo de 15 minutos para la permanencia de cada camión en cada punto de distribución. Una cantidad fija de 100 cajas de mercancía, a despachar en cada punto de distribución.

    Teniendo en cuenta que cada camión sale cargado con 2000 cajas del centro de despacho de Frigoaves, desarrolla un programa que: Lea la señal del portal de antenas RFID en el camión, y registre el conteo de cajas de mercancía, una a una, a medida que son extraídas del camión en cada punto de despacho. Lleve un conteo del inventario existente en el contenedor del camión. Emita una alarma si se excede el tiempo de despacho estipulado o si se entregan más productos de los especificados, por punto de despacho. Genere un reporte al final de cada despacho, indicando el número de cajas entregadas y el tiempo de despacho, por cada uno de los 20 puntos de distribución. En caso de que se entreguen más cajas de las estipuladas para cada punto de distribución, se debe notificar que “Se ha agotado el inventario” indicando el número del último punto de distribución que recibió la última caja.

    Ejemplo
    La entrada des de la función controldecamnion son Tiempo de entrega y cantidad de cajas, de esta forma controldecamnion(TiempoDeEntrega, CantidadDeCajas). Para el caso que se utilice controldecamnion(10,100), la salida esperada es la siguiente:

    Punto de distribución # 1

    Caja # 1

    Caja # 2

    Caja # 3

    Caja # 4

    Caja # 5

    Caja # 6

    Caja # 7

    Caja # 8

    Caja # 9

    Caja # 10 (Con esta misma estructura hasta la caja 100)

    .

    .

    .

    Caja # 100

    El total de cajas en inventario en el camnión = 1900

    Cantidad de cajas despachadas = 100

    Tiempo de despacho = 10

    Punto de distribución # 2 (Asi mismo, para cada punto de distirbución hasta el 20)

    .

    .

    .

    Punto de distribución # 20

    Caja # 1

    Caja # 2

    Caja # 3

    Caja # 4

    Caja # 2
    .

    .

    .

    Caja # 99

    Caja # 100

    El total de cajas en inventario en el camnión = 0

    Cantidad de cajas despachadas = 100

    Tiempo de despacho = 10

    En caso de que el tiempo ingresado sea 20, controldecamnion(20,100), como el tiempo de entrega (20) es mayor al tiempo maximo de entrega que son 15 minutos, que se imprima este mensaje: "Se excede el limite de tiempo"
    En caso de que la cantidad de cajas a entregar supere el valor de 100, por ejemplo: controldecamnion(10,102), la salida esperada es la siguiente:

    Punto de distribución # 1

    Caja # 1

    Caja # 2

    Caja # 3

    Caja # 4

    Caja # 5

    Caja # 6

    Caja # 7

    Caja # 8

    Caja # 9

    Caja # 10

    .

    .

    .

    Caja # 100

    Encender alarma

    Caja # 101

    Encender alarma

    Caja # 102

    El total de cajas en inventario en el camnión = 1898

    Cantidad de cajas despachadas = 102

    Tiempo de despacho = 10

    Punto de distribución # 2 (Asi mismo, para cada punto de distirbución hasta el que alcance el inventario en el camnion)

    .

    .

    .

    Punto de distribución # 20

    Caja # 1

    Caja # 2

    Caja # 3

    Caja # 4

    Caja # 2
    .

    .

    .

    Caja # 61

    Caja # 62

    Se ha agotado el inventario en el camnion

    El total de cajas en inventario en el camnión = 0

    Cantidad de cajas despachadas = 62

    Tiempo de despacho = 10

    ResponderEliminar
    Respuestas
    1. def controldecamion(time, cajas) :

      contar=0#registre el conteo de cajas de mercancía
      if time <= 15:#Un tiempo máximo de 15 minutos para la permanencia de cada camión
      for i in range(1,21):#en sus 20 puntos de distribución
      print('Punto de distribución #',i)
      for j in range(1,cajas+1):
      contar+=1
      if j <= 100:#cantidad fija de 100 cajas en cada punto de distribución
      print('Caja #',j)
      else:
      print('Encender alarma')# alarma si se excede el tiempo o se entregan más productos de los especificados
      print('Caja#',j)
      if contar == 2000 and cajas > 100:
      print('Se ha agotado el inventario en el camión')
      break
      inventario=(2000-contar)# conteo del inventario existente en el contenedor del camión
      print('El total de cajas en inventarioen el camión =',inventario)
      print('Cantidad de cajas despachadas =',j)
      print('Tiempo de despacho =',time)

      else:
      print('Se excede el limite de tiempo')

      controldecamion(10, 102)

      Eliminar
  70. Buen intento. Atte: Nestor.

    ResponderEliminar
  71. Realizar un juego que consiste en adivinar un número dado una cantidad de intentos permitidos. Para ello pedir un número N y la cantidad de intentos M, luego pedir al usuario que adivine e ir indicando “mayor” o “menor” según sea el caso y los intentos restantes. El proceso termina cuando el usuario acierta

    ResponderEliminar

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

Powered by Blogger .