domingo, 9 de enero de 2011

Ejercicios resueltos de programación, en Python y en español, I.

Hola. Este es el primero de la serie de artículos que presentaré estos días sobre una colección de ejercicios muy  básicos de programación, para resolver con Python (o cualquier otro lenguaje). Decir que son muy sencillos y sirven para afianzar conocimientos básicos de sintaxis y razonamiento. Si eres novel en programación ó en Python, este post es para tí. De lo contrario, te resultarán triviales los planteamientos expuestos.

Los enunciados los he obtenido del libro Esquemas Algorítmicos Fundamentales - Secuencias e Iteración, de P.C. Scholl y J.P. Peyrin, editorial Masson.


Ejercicio 1.
Escribir un algoritmo que, para cualquier número de segundos inferior a un millón, calcule su equivalente en días, horas, minutos y segundos.

En este ejercicio tenemos que tener en cuenta que:

1 minuto = 60 segundos.
1 hora = 60 minutos = 3600 segundos.
1 dia = 24 horas = 1440 minutos = 86400 segundos.

# Pedimos datos.
dato = raw_input(u'Número de segundos: ')

# Hacemos un cast, convirtiendo la cadena en un número largo.
dato = long(dato)

# Comprobamos si el número introducido es menor a un millón.
if dato >= 1000000:
    print "El número debe de ser menor a 1000000"
else:
    # Días.
    ndias, aux = divmod(dato, 86400)
    # Horas.
    nhoras, aux = divmod(aux, 3600)
    # Minutos y segundos.
    nmin, nseg = divmod(aux, 60)
    # Mostramos resultado.
    print '%d días, %d horas, %d minutos, %d segundos' % \
          (ndias, nhoras, nmin, nseg)

Ejercicio 2.
Escribir un algoritmo que imprima el mínimo, el máximo y la media de tres números.

# Obtenemos números.
numeros = []
for i in ['primer', 'segundo','tercer']:
    texto = u'Introduce el %s número: ' % (i)
    numeros.append(float(raw_input(texto)))

# Ordenamos.
numeros.sort()

# Obtenemos máximo y mínimo.
minimo = numeros[0]
maximo = numeros[2]

# Obtenemos la media aritmética.
media = round((numeros[0] + numeros[1] + numeros[2]) / float(3),3)

# Visualizamos resultados.
cadena = u'Mínimo: %d, Máximo: %d, Media: %f' % (minimo, maximo, media)
print cadena

Ejercicio 3.
Escribir un algoritmo que, dado el infinitivo de un verbo regular de la primera conjugación, obtenga la conjugación en singular y plural de presente de indicativo. Por ejemplo, para el verbo cantar el resultado es yo canto, tu cantas, el canta, nosotros cantamos, vosotros cantáis, ellos cantan.


pronombre = ['yo','tu','el','nosotros','vosotros','ellos']

terminaciones = {'yo':'o',
                 'tu':'as',
                 'el':'a',
                 'nosotros':'amos',
                 'vosotros':u'áis',
                 'ellos':'an'}

# Pedimos datos.
palabra = raw_input(u'Verbo regular 1ra. conjugación: ')

# Recorremos la tabla hashing (diccionario), construyendo la conjugación verbal.
for i in pronombre:
    print i, palabra[0:len(palabra)-2] + terminaciones[i]

Ejercicio 4.
Escribir un algoritmo que, para un número binario de 4 cifras, imprima su valor en base 10. Se estudiarán dos formas del problema según la representación de los datos:
    -forma 1: los datos son cuatro enteros (0 ó 1). Por ejemplo: 1,1,0,1.
    -forma 2: el dato es un entero cuya representación decimal con cuatro
              cifras no contenga más que 0 ó 1: Por ejemplo: 1101.


# Obtenemos datos.
nbinario = raw_input(u'Número binario (4 cifras): ')

# Obtenemos los dígitos.
nbinario = nbinario.split(',')
if len(nbinario) == 1: nbinario = list(nbinario[0])

# Inicializamos algunos contadores.
decimal = 0
potencia = 0

# Le damos la vuelta al número binario.
nbinario.reverse()

# Calculamos el número decimal, a partir del número binario.
for i in nbinario:
    decimal += pow(2,potencia) if i == '1' else 0
    potencia += 1

# Visualizamos resultado.
cadena = u'Su representación decimal es %d' % (decimal)
print cadena

Ejercicio 5.
Escribir un algoritmo que decodifique fechas del siglo XXI. El dato es un entero comprendido entre 10100 y 311299. El resultado es una secuencia de caracteres: número del día dentro del mes, del mes dentro del año y del año dentro del siglo. Por ejemplo, para el dato 30485, el resultado es el texto 3-4-2085.


# Obtenemos dato.
dato = raw_input('Introduce dato: ')

# Decodificamos año dentro del siglo XXI.
anyo = 2000 + int(dato[len(dato)-2:])

# Decodificamos mes.
mes = int(dato[len(dato)-4:len(dato)-2])

# Decodificamos día.
dia = int(dato[:len(dato)-4])

# Mostramos resultado.
cadena = '%d-%d-%d' % (dia, mes, anyo)
print cadena

Ejercicio 6.
Escribir un algoritmo que, para una suma de dinero dada, indique cómo descomponerla en billetes y monedas corrientes. Se desea utilizar el mínimo de billetes y monedas. No hay ninguna limitación respecto al número de billetes y monedas disponibles.


# Declaramos datos básicos (euros) con los que trabajar.
billetes_y_monedas = [500,200,100,50,20,10,5, 2, 1, 0.50, 0.20, 0.10,
0.05, 0.02, 0.01]

# Creamos un monedero, donde meter el dinero.
monedero = []

# Pedimos la cantidad.
dato = raw_input(u'Introducir importe (euros): ')

# Buscamos parte decimal y entera.
dato = dato.split('.')

# Decimal...
try: parte_decimal = float('0.'+dato[1])
except: parte_decimal = 0.0

# Entera...
parte_entera = long(dato[0])

# Algoritmo de asignación de dinero.
for i in billetes_y_monedas:
    # Obtenemos número de billetes ó monedas y los guardamos.
    unidades, resto = divmod(parte_entera, i)
    if unidades != 0:
        monedero.append((i,unidades))
        # Asignamos lo que nos queda.
        parte_entera = resto

if parte_decimal > 0:
    for i in billetes_y_monedas:
        # Obtenemos número de monedas y los guardamos.
        unidades, resto = divmod(parte_decimal, i)
        if unidades != 0:
            monedero.append((i,unidades))
            # Asignamos lo que nos queda.
            parte_decimal = round(resto,2)

# Visualizamos el resultado.
cadena = ''
for i in monedero:
    if i[0] >= 5: cadena += '%d billete/s de %d euros' % (i[1],i[0])
    if i[0] < 5: cadena += '%d moneda/s de %s euros' % (i[1],i[0])
    cadena += '\n'
print cadena

Ejercicio 7.
Escribir un algoritmo que simule el funcionamiento de una calculadora. El dato es una serie de tres caracteres: una cifra, un símbolo de operación y otra cifra. El resultado es el valor de la expresión dada.

# Pedimos datos.
dato = raw_input(u'Introduce operación: ')

# Inicializamos resultado.
resultado = 0

# ¿Suma?
serie = dato.split('+')
if len(serie) == 2: resultado = long(serie[0]) + long(serie[1])
else:
    # ¿Resta?
    serie = dato.split('-')
    if len(serie) == 2: resultado = long(serie[0]) - long(serie[1])
    else:
        # ¿Multiplicación?
        serie = dato.split('*')
        if len(serie) == 2: resultado = long(serie[0]) * long(serie[1])
        else:
            # ¿División?
            serie = dato.split('/')
            if len(serie) == 2: resultado = long(serie[0]) / long(serie[1])

# Mostramos resultado.
print "El resultado es",resultado

Ejercicio 8.
Consideremos una hora expresada en forma de tripleta . Escribir un algoritmo que imprima la hora correspondiente al siguiente segundo. Por ejemplo, para la entrada 13,43,24 tiene que devolver 13,43,25.

Se supone que lo que introducimos es una hora correcta. Darse cuenta que no se chequean los datos introducidos, por cuestión de simplicidad.

# Pedimos datos.
tiempo = raw_input('Introduce tiempo: ')

# Obtenemos datos.
aux = tiempo.split(',')
horas = int(aux[0])
minutos = int(aux[1])
segundos = int(aux[2])

# Aumentamos un segundo.
segundos += 1

# Casos.
if segundos != 60:
    tiempo = (horas, minutos, segundos)
else:
    if minutos == 59 and horas == 23:
        tiempo = (0, 0, 0)
    else:
        if minutos == 59:
            tiempo = (horas + 1, 0, 0)
        else:
            tiempo = (horas, minutos + 1, 0)

# E imprimimos resultado (una tupla).
print tiempo

Ejercicio 9.
Escribir una función que determine si una letra dada es consonante.

A la función le faltaría controlar las letras con acentuación (tildes, diéresis, etc).

def es_consonante(letra):
    if letra.lower() not in ['a','e','i','o','u']:
        return True
    else:
        return False

Ejercicio 10.
Escribir una función que calcule el factorial de un número. Por ejemplo, 5! = 5*4*3*2*1 = 120.


def factorial(numero):
    return 1 if numero <=0 else numero * factorial(numero -1)

Saludos.

143 comentarios:

  1. Esta es una solución más corta para el problema 6:

    #-*- coding: UTF-8 -*-

    cifra = float(raw_input(u'¿Cuántos euros? '))

    monedas = [500, 200, 100, 50, 20, 10, 5, 2, 1]

    cociente = cifra

    centimos = int(100 * (cifra - int(cifra)))

    for x in monedas:
    if cociente >= x:
    cociente, resto = divmod(cociente, x)
    if x > 2:
    print cociente, ' billete de ', x
    if x == 2:
    print cociente, ' monedas de ', x
    if x == 1:
    print cociente, ' moneda de ', x
    cociente = resto
    print centimos, u' céntimos'

    ResponderEliminar
  2. Espero que no tengáis problemas con la indentación (o sangrado) de líneas del programita que he puesto anteriormente.

    ResponderEliminar
    Respuestas
    1. PORFAVOR NECESITO PODER LOGRAR OBTENER LA EDAD POR MEDIO DE LA FECHA DE NACIMIENTOS.. TRATO DE HACERLO OBTENIENDO LA FECHA ACTUAL Y RESTANDOLA PERO NO ME FUNCIONA,... CMABIE EL FORMATO A LAS DOS Y LAS RESTE LUEGO Y TAMPOCO LA VERDAD NO SE QUE HACER . AYUDA PORFAVOR

      Eliminar
    2. PORFAVOR NECESITO PODER LOGRAR OBTENER LA EDAD POR MEDIO DE LA FECHA DE NACIMIENTOS.. TRATO DE HACERLO OBTENIENDO LA FECHA ACTUAL Y RESTANDOLA PERO NO ME FUNCIONA,... CMABIE EL FORMATO A LAS DOS Y LAS RESTE LUEGO Y TAMPOCO LA VERDAD NO SE QUE HACER . AYUDA PORFAVOR

      Eliminar
    3. necesito resolver unos ejercicios en python alguien me puede ayudar:
      1.- Dise˜na un programa que pida el valor del lado de un cuadrado y muestre el valor
      de su per´ımetro y el de su ´area.
      (Prueba que tu programa funciona correctamente con este ejemplo: si el lado vale 1.1,
      el per´ımetro ser´a 4.4, y el ´area 1.21.
      2.-Dise˜na un programa que pida el valor de los dos lados de un rect´angulo y muestre
      el valor de su per´ımetro y el de su ´area.
      (Prueba que tu programa funciona correctamente con este ejemplo: si un lado mide 1
      y el otro 5, el per´ımetro ser´a 12.0, y el ´area 5.0.)
      3.- Dise˜na un programa que pida el valor de la base y la altura de un tri´angulo y
      muestre el valor de su ´area.
      (Prueba que tu programa funciona correctamente con este ejemplo: si la base es 10 y
      la altura 100, el ´area ser´a 500.0.)

      Eliminar
    4. hola buenos días tu pagina es muy útil
      por favor podrias ayudarme necesito hacer un programa en c++ que determine cuál es el número mayor o menor en el tiro de 2 dados si llegara a ser igual el programa deberá indicar que son iguales.
      la verdad No se ni por donde empezar
      gracias
      Ate.
      Ricardo Glez.
      rgonzalezcastaneda@gmail.com

      Eliminar
  3. justo lo k necesitava saludos

    ResponderEliminar
  4. alguien sabe como puedo hacer este ejercicio?

    haz un programa que pida al usuario una cantidad de euros, una tasa de interes y un numero de años. muestra por pantalla en cuanto se habra convertido el capital inicial trancurrido esos años si cada año se aplica la tasa de interes introducida
    recuerda que un capital C de euros a un teres del x por cien durante n años se conveirte nen c.(1+x/100)n[elevado] euros
    Prueba tu programa sabiendo que una cantidad de 10.000 euros al 4.5% de interes anual se convierte en 24117.14 euros al cabo de 25 años

    ResponderEliminar
  5. ejercioio 93 de la pag 98 del libro por favoooooooooooooooooooooooooooooooooooooooooooooooooooor

    ResponderEliminar
  6. Hola Anónimo. El ejercicio que dices no tengo ni idea de donde lo has sacado, ya que los ejercicios que yo he hecho son de un manual, que no tiene nada que ver con el que tú me comentas.

    Por otro lado, la solución que necesitas es la siguiente:

    # Pedimos datos.
    euros = float(raw_input("Cantidad de euros: "))
    tasa_interes = float(raw_input(u"% tasa de interés: "))
    num_anyos = int(raw_input(u"Número de años: "))

    # Hacemos los cálculos.
    tasa_interes_porcent = float(tasa_interes)/100
    total = euros * pow((1 + tasa_interes_porcent), num_anyos)

    # Y sacamos por pantalla.
    print round(total, 2)

    Una última cosa. Tienen que ser 20 años y no 25, para un total de 24117.14 al 4.5% (ahí te has confundido, seguro).

    Espero haberte ayudado. Saludos.

    ResponderEliminar
    Respuestas
    1. no entiendo esto pow((1 + tasa_interes_porcent), num_anyos)

      Eliminar
    2. ME GUSTARIA SI ALGUIEN A ESTUDIADO O SABE DONDE PUEDO ENCONTRAR LOS EJERCICIOS RESUELTOS DE ESTE LIBRO...EQUIPOS DE SONIDO 2 EEC MODULOS RESPONDERME A ESTA DIRECCION GENARO_003@HOTMAIL.COM GRACIAS

      Eliminar
  7. hola estoy aprendiendo a usar python y no se q condicion poner para el if en este problema q es muy facil..
    Disena un programa que, dado un numero entero, muestre por pantalla el mensaje 'El
    numero es par.' cuando el numero sea par y el mensaje 'El numero es impar.' cuando sea
    impar.
    (Una pista: un numero es par si el resto de dividirlo por 2 es 0, e impar en caso contrario.)

    ResponderEliminar
  8. Hola Anónimo. Prueba con esto:

    def tipo_numero(numero):
    if (numero % 2) == 0:
    print u"El número es par"
    else:
    print u"El númuero es impar"

    ResponderEliminar
    Respuestas
    1. si pero lo divide una ves no mas.. y si ingresas 4 ... 4/2 no es cero y te tira q es impar

      Eliminar
    2. había un señor tan pero tan flaco, que no tenia dedo gordo

      Eliminar
  9. implementa un programa que muestre todos los multiplos entre 6 y 150


    como puedo resolverlo????

    ResponderEliminar
  10. haz un progama que pida el valor de dos enteros n y m y calcule el sumatorio de todos los numeros pares comprendidos entre ellos (incluyendolos en el caso que sean pares)

    ResponderEliminar
  11. la solucion para los multiplos de 6 entre 6 y 150 es esta espero que te sirva:

    a = 6
    multiplo = 1

    while multiplo <= 25:
    print a * multiplo
    multiplo += 1

    #puse 25 porque 150 dividido 6 es 25..
    y el programa pide hasta 150 inclusive

    ResponderEliminar
  12. diseña un programa que, dado un número entero, determine si éste es el doble de un número impar. (ej. 14 es el doble de 7, que es impar). :(

    ResponderEliminar
  13. #determine si el nro es doble de un nro impar

    nro = int(raw_input('ingrese un nro entero: '))
    mitad = nro / 2

    if mitad % 2 = 0:
    print 'su mitad no es impar'
    else:
    print 'su mitar es impar'

    ResponderEliminar
  14. por favorr! "hacer un programa que calcule el maximo comun divisor de tres numeros enteros positivos"! no tengo idea de como hacerlo! Barbara

    ResponderEliminar
  15. q onda el programa de mcd???

    ResponderEliminar
  16. lo necesito por favor!!

    ResponderEliminar
  17. Si estaria buenisimo uno del mcd yo tambien lo necesito!!!!!!!

    ResponderEliminar
  18. # aca esta el de MCD.. le puse los guiones para q dejen exactamente esa cant de espacios..

    print 'MAXIMO COMUN DIVISOR'

    a = int(raw_input('ingrese primer nro: '))
    b = int(raw_input('ingrese segundo nro: '))
    c = int(raw_input('ingrese tercer nro: '))

    mcd = 0

    if c < a > b:
    --if b < c:
    ----for i in range(1, b+1):
    ------if a % i ==0 and b % i ==0 and c % i ==0:
    --------mcd = i
    ----print 'mcd:', mcd
    --elif c < b:
    ----for i in range(1, c+1):
    ------if a % i ==0 and b % i ==0 and c % i ==0:
    --------mcd = i
    ----print 'mcd:', mcd

    if c < b > a:
    --if a < c:
    ----for i in range(1, a+1):
    ------if a % i ==0 and b % i ==0 and c % i ==0:
    --------mcd = i
    ----print 'mcd:', mcd
    --elif c < a:
    ----for i in range(1, c+1):
    ------if a % i ==0 and b % i ==0 and c % i ==0:
    --------mcd = i
    ----print 'mcd:', mcd


    if b < c > a:
    --if a < b:
    ----for i in range(1, a+1):
    ------if a % i ==0 and b % i ==0 and c % i ==0:
    --------mcd = i
    ----print 'mcd:', mcd
    --elif b < a:
    ----for i in range(1, b+1):
    ------if a % i ==0 and b % i ==0 and c % i ==0:
    --------mcd = i
    ----print 'mcd:', mcd

    ResponderEliminar
  19. necesito ejercicios para resolver!

    ResponderEliminar
  20. class Empleados:
    def inicializar (self,nombre,cedula,sueldo):
    self.nombre=nombre
    self.cedula=cedula
    self.sueldo=input("INGRESE SU SUELDO: ")

    def imprimir (self):
    if self.sueldo >1500000:
    print "EL EMPLEADO ",self.nombre
    print "CON NUMERO DE IDENTIFICACION " ,self.cedula
    print "CON UN SUELDO DE ",self.sueldo
    print "PAGA IMPUESTOS"
    else:
    print "EL EMPLEADO ",self.nombre
    print "CON NUMERO DE IDENTIFICACION " ,self.cedula
    print "CON UN SUELDO DE ",self.sueldo
    print "NO PAGA IMPUESTOS"
    empresa=Empleados()
    empresa.inicializar("JULIAN","950595455","")
    empresa.imprimir()
    empresa2=Empleados()
    empresa2.inicializar("OSCAR","94645644","")
    empresa2.imprimir()
    input("DIGITE CUALQUIER TECLA PARA SALIR ")

    ResponderEliminar
  21. juan cruz...urgente...
    hola quisiera preguntar si alguien me puede ayudar a resolver este ejercicio que no hay forma que me salga


    modifica el programa para que sea el usuario quien proporcione, mediante el teclado, el numero de suspensos,aprobados,notables y sobresalientes.(antes de dibujar el grafico de pastel debes convertir esas cantidades en porcentajes)



    desde ya gracias

    ResponderEliminar
  22. Hola, tengo un problema en python que no he podido resolver. Es realizar una funcion en python que pída un numero entero y el numero de digitos que tiene y que devuelva la suma de los digitos del numero entero.

    ResponderEliminar
  23. alguien que haga este ejrcicio plz:Escribe una función corta que toma una cadena y saca la primera y la ultima letra de
    la cadena. Por ejemplo corta(“Schwarz”) sería “chwar”.

    ResponderEliminar
  24. alguien que pueda resolver estos ejercicios
    1. Construir un algoritmo que calcule el monto mensual que adeuda un cliente que compra un equipo de sonido al crédito, sabiendo que el monto de compra recibe un incremento del 19% de impuesto, así como, de 5% de interés mensual por cada letra que fracciona.
    2. Un hospital a recibido una donación especial que será repartida de la siguiente manera: 45% para Medicina General, 30% para Cardiología, 15% para Pediatría y el resto para Traumatología. Diseñe un algoritmo que determine cuanto recibirá cada área.

    ResponderEliminar
  25. necesito ayuda, necesito un algoritmo para contar las palabras en cada capítulo de un fichero sin que me tenga en cuenta las palabras del titulo del capítulo, es urgente.....

    ResponderEliminar
  26. hola alguien mepuede ayudar con este progrma es que soy nueva en python y nose como hacerlo:

    8.Haz un programa que pida el valor de dos enteros n y m y calcule el sumatorio de todos los números pares comprendidos entre ellos (incluyéndolos en el caso de que sean pares).

    ResponderEliminar
  27. hola nesecito ayuda,,,,de sig: problema...
    Construir un algoritmo que calcule el monto mensual que adeuda un cliente que compra un equipo de sonido al crédito, sabiendo que el monto de compra recibe un incremento del 19% de impuesto, así como, de 5% de interés mensual por cada letra que fracciona.

    ResponderEliminar
  28. alguien sabe algun programa q publique el nombre de tu suegra..!!o algo parecido ..!!chevere los programas sigan x q me ayudaron ..!!
    gracias..

    ResponderEliminar
  29. BUenas me gustaria me ayudaran con un problemita que me han dado en el cole es el siguiente

    1) Capture un número entero de dos dígitos y determinar a cuánto es igual la suma de sus dígitos.
    2) Capture un número entero de tres dígitos y determinar a cuánto es igual la suma de sus dígitos. Luego evalúe si el resultado de la suma es un número par o impar.

    Gracias

    PD: soy nuevesito en esto y aun no le cojo bien el piso gracias

    ResponderEliminar
  30. ingresa el valor de n que muestre la siguiente estructura
    ejp: n= 5
    54321
    4321
    321
    21
    1

    ResponderEliminar
  31. Necesito el programa de este ejercicio.. Calcular la menor de cinco palabras dadas: es decir, la primera palabra de las cinco en orden alfabetico. O sea "pepita" es menor q "pepito"

    ResponderEliminar
    Respuestas
    1. en python es bien facil, solo pedi las palabras como cadenas y ve compararlas con un if

      Eliminar
  32. hola necesito un programa en python q me tire el palabras,tildes y consonantes en total de cada una en un archivo guardado en un pad no puedo usar un split

    ResponderEliminar
  33. necesito un programa que resuelva el juego del 15

    ResponderEliminar
  34. Hola necesito ayuda para realizar el ejercicio 124 del libro Introduccion a la progamacion con phyton

    ResponderEliminar
  35. hola quiero saber como se hace el ejercicio 135 de la pagina 120 del libro Introduccion a la progamacion con phyton de Andres Marzal.

    ResponderEliminar
  36. necesito ayuda con un programa que incluya diccionario, listas , for, while de python plis..........

    ResponderEliminar
  37. Hola hoy tengo examne de programacion python podiras asesorarme en linea? es a las 6:15 pm hora peruana.Espero ayuda. Gracias totales

    ResponderEliminar
  38. ayuda con hacer un programa que reciba N y dibuje dos figuras :
    un cuadrado de N filas por ejm si ingreso 5, deberia inprimir
    *****
    *****
    *****
    *****

    ResponderEliminar
    Respuestas
    1. #include
      using namespace std;
      void delay(int sec)
      {
      for(int i = (time(NULL) + sec); time(NULL) != i; time(NULL));
      }
      int main()
      {
      int sec=0;
      int N=0,a=0,j=0;

      cout<<"INTRODUZCA UN NUMERO ENTERO: " <>N;
      for(j=0;j<=N-1;++j)
      {
      for(a=0;a<=N-1;++a)
      {
      cout<<"*";
      }
      cout<<endl;
      }


      sec=30;
      delay(sec);
      return 0;
      }

      Eliminar
  39. realizar un programa que reciba una exprecion matematica que contenga suma ,resta, multiplicacion y division y que realice la operacion .
    ejm:
    procesa0 operaciones ('2+4*5+6-8/2)=24
    procesa0 operaciones ('1+0*5+3-8/2-9/3) =-1

    ResponderEliminar
  40. necesito ayuda con este ejercicio: defina una funcion que devuelva el numero de dias que tiene un año determinado, ten en cuenta que un año en visiestro, si es divisible por 4 y no divisible por 100 execto si tambien es divisible por 400 en cuyo caso es visiestro

    ResponderEliminar
  41. para el de maximo comun divisor, te complicas, hace esto:

    def mcd(a,b):
    print " maximo comun divisor"
    while a != 0:
    a,b = b%a, a
    return b
    print mcd(21,70)

    ResponderEliminar
  42. Hola...
    Alguien me podria ayudar con este ejercicio?
    Cual es el resultado de b en este caso? muchas gracias!!!

    a = 70
    b = 78
    a += b
    b += a
    b=???

    ResponderEliminar
  43. hola espero que alguien me ayude a resolver este ejercicio urgente porfis :

    Elabore un programa que seleccione candidatos en una entrevista. Para ser aceptado el candidato debe reunir cualquiera de los siguientes criterios>
    Ser química mayor que 25, y no ser graduado de Yale .
    Ser economista graduado de Harvard y no ser mayor que 28.
    Ser graduado de Yale, mayor que 25 y no estudiar química.

    ResponderEliminar
  44. Buena noche deseo me ayuden a resolver este problema. Garcias

    "Crea una clase Alumno {13 pts.} Un alumno tendrá tres datos(atributos): nombre, apellido y una lista de notas inicialmente vacía. Crea un método agregar_nota, que añada una nota a la lista de notas. Crea un método nota_media (promedio de notas), que devuelva la nota media del alumno. Crea un método imprime_ficha, que muestre en pantalla todos los datos del alumno: Nombre, apellido, lista de notas y nota media"

    ResponderEliminar
  45. hola tengo un problema de skool :S

    me piden:

    imprimir el factorial de "X" utilizando a IF y DEF..
    ____________________________________________________________

    y me imagino ke es el problema 3 que me encargaron que es:


    Factorial de x:
    si x es == 0:
    regresa él 1
    si no regresa x * factorial de x-1


    creo que es algo asi

    Def factorial (x):
    if x==0:
    return 1
    else:
    return x * factorial(x - 1)

    pero..

    me da error despues de que ingreso(en modo interactivo) la primera linea y doy enter..

    nada mas se queda
    ..._

    y no hace nada mas...

    podrian ayudarme con esos 2??

    Grax

    ResponderEliminar
  46. porfavor ayudenme..urgente..!!
    Capturar los datos mas importantes de una mercancía cualesquiera, incluyendo cantidad, precio, etc., desplegar una orden de compra, solo si el producto es de origen nacional, en caso contrario no hacer nada.

    ResponderEliminar
  47. Hola me gustaria si alguien puede darme una mano con este ejercicio: Haz un programa que vaya leyendo numeros y mostrandolos por pantalla hasta que el
    usuario introduzca un numero negativo. En ese momento, el programa mostrara un mensaje de despedida y finalizara su ejecucion.
    es el ejercicio 134 de "Introduccion a la programacion con python"
    Desde ya gracias!!

    ResponderEliminar
  48. Hola. Necesito si me pueden resolver el siguiente ejercicio: Dise˜na un programa que, dados cinco puntos en el plano, determine cu´al de los cuatro ultimos puntos es mas cercano al primero. Un punto se representara con dos variables: una para la abcisa y otra para la ordenada. La distancia entre dos
    puntos (x1, y1) y (x2, y2) es: sqrt((x1 − x2)**2 + (y1 − y2)**2)).
    Por favor necesito la respuesta para mañana a la mañana.

    ResponderEliminar
  49. El ejercicio que les nombro en el comentario anterior es del libro Introducción a la programación con Python. Es el número 84 y aparece en la página 93. Espero su o sus respuestas. Desde ya muchas gracias. Chau.

    ResponderEliminar
  50. hacer un jueguito similar a aorcado en python : porfis quien puede ?

    ResponderEliminar
    Respuestas
    1. Sería algo parecido a Esto

      #Creamos las listas palabrau la que introduce el usuario
      # palabra_jugador con la que se maneja el usuario
      palabrau=raw_input("Nueva palabra : ")
      palabra=[]
      palabra_jugador=[]
      #Pasamos los datos de la palabrau a palabra
      for x in palabrau:
      palabra.append(x)
      #Agregamos "-" a la lista palabra_jugador
      for x in range(0,len(palabrau)):
      palabra_jugador.append("-")
      #Creamos un ciclo Para pedir las letras
      while palabra!=palabra_jugador:
      letra=raw_input("Letra :")
      letra=str(letra)
      #Si la letra esta es la palabra sigue
      if letra in palabra:
      #Si la letra se encuentra mas de 1
      if palabra.count(letra)>1:
      for x in range(0,palabra.count(letra)):
      posicion=palabra.index(letra)
      palabra.pop(posicion)
      palabra.insert(posicion,"#")
      palabra_jugador.pop(posicion)
      palabra_jugador.insert(posicion,letra)

      else:
      posicion=palabra.index(letra)
      palabra.pop(posicion)
      palabra.insert(posicion,"#")
      palabra_jugador.pop(posicion)
      palabra_jugador.insert(posicion,letra)
      #imprimir palabra_jugador
      print palabra_jugador
      #Si no esta la letra en la palabra
      else:
      print"No existe la letra"

      Eliminar
  51. Hola necesito ayuda con el ejercicio 132:
    "En realidad no hace falta explorar todo el rango de números entre 2 y n-1 para saber si un numero n es o no primo.Basta con explorar el rango de números entre 2 y la parte entera de n/2.Modifica el programa para que solo exploremos ese rango"
    si me pueden dar al menos una pista estaría mas que agradecido.Gracias!

    ResponderEliminar
  52. hola necesito ayuda con este ejercicio porfa
    en realidad no hace falta explorar todo el rango de numeros entre 2 y n/2 para saber si un numero n es o no es primo.basta con explorar en rango de numero entre 2 y la parte entera de raiz cuadrada de n.modifica el programa para que solo exploremos ese rango..
    gracias!!

    ResponderEliminar
    Respuestas
    1. en realidad el ejercicio del rango lo debes hacer con for in range en donde en su argumento es(2, raíz cuadrada de n)y lo demás pasos como esta en el libro..veras q da el mismo resultado haciéndolo con n-1...espero q te sirva nos vemos!!

      Eliminar
  53. Hola necesito una mano con esto:Haz un programa que almacene en a una lista obtenida con range (1,n),donde n es un entero q se pide al usuario y modifique dicha lista para que cada componente sea ugual al cuadrado del componente original..Gracias!

    ResponderEliminar
  54. por favor ayudenme con este problema :)

    Escriba un programa que realiza el siguiente en este orden:
    1. Pida al usuario que introduzca su apellido paterno.
    2. Pida al usuario que introduzca su nombre.
    3. Pida al usuario el año de su nacimiento
    4. Imprima primero el nombre y luego el apellido del usuario con el siguiente mensaje:

    a) "Usted es un niño" si es menor de 13 años
    b) "Usted es un adolescente" si es menor de 20 años y mayor de 12 años
    c) "Usted es adulto" si tiene 30 años o más

    ResponderEliminar
    Respuestas
    1. este es facil solo tienes que preguntar....

      ape_paterno=input("DEME SU APELLIDO")
      nombre= input("dame tu nombre")
      año_nac=input("año de nacimiento")
      #restas desde el año actual con el año que introdujo

      año_nac=2014-año_nac

      #haces un if para evaluar si es menor, adoslecente o adulto

      if(año_nac<=13):
      print(nombre)
      print(ape_paterno)
      print("USTED ES UN NIÑO")
      elif (año_nac>13 and año_nac<=20):
      print(nombre)
      print(ape_paterno)
      print("USTED ES UN ADOLESCENTE")
      elif (año_nac>21):
      print(nombre)
      print(ape_paterno)
      print("USTED ES UN ADULTO)

      #ESPERO TE SIRVA SALUDOS SI USAS PYTHON MENOR QUE EL 3.3 USA RAW_INPUT

      Eliminar
  55. por favor alguien muy inteligente me podria ayudar hacer un programa que dice:
    diceñar un algoritmo que ingrese una palabra y imprima en codigo binario ok

    ResponderEliminar
  56. Muy buenas, necesito que alguien me ayude con este problema en código Python 3.1:

    "Escribir un programa que dado una cantidad entera de centimos de euro, escriba su equivalencia en monedas de 1,2,5,10,20,50 y en monedas de 1 y 2 € de forma que haya el menor número posible de cada valor."

    yo ya he escrito una pequeña parte, pero no sé como continuar. Muchas gracias por vuestra atención.

    def monedas(x):
    if x>0:
    d=
    b=x//100
    c=x//200
    return (b)
    a=int(input("Introduzca cantidad de dinero:"))
    y=monedas(a)
    print(a,"centimos, son",y,"€")

    ResponderEliminar
  57. por favor si me podeis ayudar, tengo un problema que no lo puedo plantear que es el siguiente:

    (Dado un numero Binario, implementar un programa que nos calcule el numero de ceros (0) que contiene dicho numero binario).

    si me poeis ayudar por favor

    atte. Andrea

    ResponderEliminar
  58. El usuario debe ingresar el día y mes de su cumpleaños y el programa le debe decir a
    que signo corresponde..... ayudenme con este ejercicio....

    ResponderEliminar
  59. hola me piden UNIVERSIDAD LA SALLE
    PROYECTO FINAL
    DE PROGRAMACIÓN
    PARTE I: Selección de Vuelos
    A usted se le solicita realizar un programa que permita la compra de pasajes aéreos por Internet. El usuario deberá indicar el tipo de vuelo: SOLO IDA o IDA Y VUELTA. El usuario deberá indicar la ciudad de origen y la ciudad de destino.
    Por simplicidad solo se tienen los siguientes destinos:
    Arequipa – Lima : US $ 64.00
    Lima - Trujillo : US $ 50.00
    Arequipa – Tacna : US$ 30.00
    Debe indicar las fechas del viaje tanto de Ida como de Retorno. Debe garantizar que la fecha de retorno sea después de la fecha de partida.
    Existen 3 tipos de tarifas: Adultos, Niños e Infantes. Se considera Adulto a partir de los 12 años. Se considera niño de los 2 a los 11 años. Se considera infante desde los 0 a los 23 meses. El adulto paga el pasaje normal. El niño para el 80% del precio del pasaje. El infante solo paga el 15% del precio del pasaje.
    El programa debe preguntarle la cantidad de pasajes a comprar por cada uno de los tipos

    Figura 1
    Una vez ingresados los datos. El programa debe mostrar un mensaje con el cálculo de la tarifa a pagar para cada uno de los pasajeros. Tal como se muestra a continuación:

    Figura 2
    PARTE II: Datos del Pasajero
    Luego de visualizar los datos del pago como en la imagen 2. El programa deberá solicitar al usuario los datos del pasajero (o pasajeros) detallados a continuación:
    Titulo, Nombre, Apellido, Tipo de Documento (DNI o Pasaporte), Numero del documento de identidad, y País de Emisión


    Figura 3
    A continuación el programa pedirá la información de contacto: Nombre del pasajero a contactar, correo electrónico, teléfono fijo, teléfono trabajo y teléfono movil

    Figura 4

    PARTE III: Pago
    En esta parte, el usuario tendrá la opción de seleccionar entre dos formas de pago: Tarjeta de Crédito y Presencial.

    Figura 5
    Si el usuario selecciona Presencial, el programa le deberá mostrar las opciones mostradas en la figura

    Figura 6
    Si el usuario selecciona la opción Tarjeta de Crédito. El programa le deberá mostrar las opciones que aparecen en la Figura 7.

    Figura 7

    FECHA REVISION PRIMER AVANCE: 16 DE NOVIEMBRE
    Evaluación:
    • Captura correcta de datos
    • Calculo correcto de tarifa de acuerdo si es Solo Ida, o Ida y Vuelta
    • Calculo correcto de tarifas según cantidad de pasajeros
    • Calculo correcto de tarifas de acuerdo al tipo de pasajero(adulto, infante o niño)
    • Ingreso correcto de fechas
    • Mostrar el resumen de tarifas tal como se muestra en la figura 2 para cada uno de los pasajeros
    • El sistema debe considerar si el usuario digita los datos en mayúscula o en minuscula

    FECHA REVISIONO ENTREGA FINAL: 23 DE NOVIEMBRE
    • Ingreso datos de pasajeros de acuerdo a la cantidad de pasajes comprados
    • Mostrar menú de opciones para el tipo de pago escogido
    • Selección del tipo de pago.



    ayuden please

    ResponderEliminar
    Respuestas
    1. Lo pudiste hacer? porque me piden exactamente el mismo programa y no lo entiendo

      Eliminar
  60. pueden ayudarme con sto:
    Reemplace cada vocal por su siguiente vocal. Por ejemplo, si recibe ’vestuario’ debe devolver
    ’vistaerou’.

    ResponderEliminar
    Respuestas
    1. HOLA MILTON VE BUSCATE LISTAS EN PYTHON ES FACIL SOLAMENTE TIENES QUE LLENAR LA LISTA CON LA PALABRA Y CUANDO ENCUENTRES UNA VOCAL MODIFICAR LA LISTA EN ESA POSICION Y SEGUIR RECORRIENDO LA LISTA SALUDOS ;)

      Eliminar
  61. Hola necesito resolver este ejercicio urge para examen gracias:

    Se ha Instalado medidores de contaminantes atmosféricos en diversas poblaciones se quiere conocer por cada población la media de contaminantes y cuál es la población que tiene mayor nivel y cual menor nivel de contaminantes.

    El usuario entrara una secuencia con la siguiente estructura:

    10- 32,28,15,9,17 * 21- 42,28,25,19,45,30 * 3- 18,20,44,53,27
    En esta cadena tenemos diferentes poblaciones con sus medidas separadas por asterisco y las medidas de cada población separadas por (,) donde el valor anterior al guión corresponde al código de la población.

    El programa ha de mostrar

    La población 10 tiene una media de 20.2
    La población 21 tiene una media de 31.5
    La población 3 tiene una media de 32.4

    La población con mejor nivel es la 10
    La población con peor nivel es la 3

    ResponderEliminar
  62. Hola necesito resolver este ejercicio urge para examen gracias:

    Se ha Instalado medidores de contaminantes atmosféricos en diversas poblaciones se quiere conocer por cada población la media de contaminantes y cuál es la población que tiene mayor nivel y cual menor nivel de contaminantes.

    El usuario entrara una secuencia con la siguiente estructura:

    10- 32,28,15,9,17 * 21- 42,28,25,19,45,30 * 3- 18,20,44,53,27
    En esta cadena tenemos diferentes poblaciones con sus medidas separadas por asterisco y las medidas de cada población separadas por (,) donde el valor anterior al guión corresponde al código de la población.

    El programa ha de mostrar

    La población 10 tiene una media de 20.2
    La población 21 tiene una media de 31.5
    La población 3 tiene una media de 32.4

    La población con mejor nivel es la 10
    La población con peor nivel es la 3

    ResponderEliminar
    Respuestas
    1. hola necesito hacer un programa en el cual podamos votar por tres candidatos y haci mismo q el programa nos muestre q candidato tuvo mas votos...ayudenme porfa

      Eliminar
  63. Hola, Hola:
    Felicito al Dueño del blog y es interesante el uso de Python, la verdad que lo tengo en la maquina y mirando estos ejercicios voy a probar, pero como se guarda el programita que uno hace, como se lo hace funcionar luego para mostrarlea los demas lo que uno hace, es mi prime acercamiento a Pithon, y este blog lo encontre demasiado interesante.-
    Gracias y suerteee!!!

    ResponderEliminar
  64. Hola, Hola:
    Felicito al Dueño del blog y es interesante el uso de Python, la verdad que lo tengo en la maquina y mirando estos ejercicios voy a probar, pero como se guarda el programita que uno hace, como se lo hace funcionar luego para mostrarlea los demas lo que uno hace, es mi prime acercamiento a Pithon, y este blog lo encontre demasiado interesante.-
    Gracias y suerteee!!!

    ResponderEliminar
  65. El ejercicio de la calculadora pero que cada metodo realice un return del resultado de la operacion solicitada.

    ResponderEliminar
  66. alguien sabe como crear este programa :
    diseña un programa que dado 5 numeros enteros, determine cual de lso cuatro ultimos numeros es mas cercano al primero ( ejemplo : si el usuario introduce los numeros 2,6,4,1 y 10 el programa respondera que el numero mas cercano a 2 es 1 )

    ResponderEliminar
  67. Alguien sabe como hacer esto?
    1. Introducción
    En un preuniversitario de escasos recursos, no tienen presupuesto para comprar el scanner corrector
    que lee las hojas de respuesta de los ensayos de PSU. Usted hará un programa en Python que realice esta
    tarea.
    2. Datos de entrada
    Su programa debe operar en base a 3 archivos de entrada, según se describen a continuación
    2.1. Pauta
    En un archivo, está la pauta del ensayo que se quiere corregir. Este archivo se llama pauta.txt y
    tiene en la primera línea la cantidad de preguntas del ensayo, N, y luego N líneas con una letra A, B, C,
    D, o E mayúscula que indica cuál es la alternativa correcta para la pregunta correspondiente.
    2.2. Respuestas
    El archivo respuestas.txt contiene las hojas de respuesta de los alumnos. En la primera línea se
    encuentra un número entero, R, que indica la cantidad de hojas de respuesta que siguen. Luego vienen R
    hojas de respuesta, según el siguiente formato:
    1 línea con el nombre del alumno. Podría contener espacios.
    N líneas (una por pregunta) con la fila de la hoja de respuesta correspondiente a una pregunta.
    Una fila consiste de 5 casillas, de las que puede haber algunas marcadas. La fila sin marcar es
    ABCDE, y las marcas se simbolizan reemplazando la posición marcada por #. Ejemplo, una pregunta
    respondida con la alternativa B sería A#CDE, mientras que una omitida sería ABCDE. También pueden
    haber preguntas con más de una alternativa marcada (A#C#E), caso en que se considera incorrecta.
    2.3. Puntajes
    La tabla de asignación de puntajes varía cada año y para cada prueba. Por eso, al momento de corregir
    cada ensayo, deberá leer un archivo puntajes.txt que contiene la tabla de asignación de puntaje final
    en función del puntaje corregido.
    El puntaje corregido es la cantidad de respuestas correctas, menos un cuarto de la cantidad de respuestas
    incorrectas. Ejemplo, si alguien tiene 70 correctas, 5 incorrectas, y 5 omitidas o inválidas, su
    puntaje corregido será 70-5/4) = 68;75.
    En el archivo de puntajes, habrá primero una línea con un número entero P que indica cuántas líneas
    le siguien. Luego, P líneas, con 2 números cada una, separados por espacio. El primer número indica
    el puntaje corregido y el segundo número el puntaje PSU correspondiente a dicho puntaje corregido.
    El primer número podría ser entero o decimal, mientras que el segundo siempre será entero. Estas P
    líneas vienen en orden decreciente (de mayor puntaje a menor). La correspondencia es monótona, i.e.
    PC1 < PC2 , P(PC1) < P(PC2), donde P(PC) es el puntaje final PSU asignado al puntaje corregido
    PC.
    1
    Nota: la tabla de asignación de puntajes podría no contener todos los posibles puntajes corregidos.
    Por ejemplo, podría indicar la correspondencia para puntaje corregido 70, y luego 60. Para encontrar
    el puntaje de una prueba con puntaje corregido de 65, deberá interpolar linealmente la correspondencia
    conocida inmediatamente mayor, e inmediatamente menor, y redondear el resultado hacia abajo. Esto es
    P(PC) = P(PCant)+(P(PCsig)-P(PCant))+(PC-PCant)/(PCsig-PCant) , donde PCant es el puntaje corregido, disponible
    en la tabla, inmediatamente menor que el obtenido, y PCsig es el inmediatamente mayor.
    Muchas gracias. :)

    ResponderEliminar
  68. Para el Anónimo que necesitaba un programa que cuente los días en un determinado lapso de años.

    #devolver el numero de dias de un año determinado, teniendo en cuenta los años bisiestos tienen 366 dias(divisible por 4 y no por 100 or divisible por 400)

    ##Año bisiesto
    ## if (year % 4 == 0 and not year % 100 == 0) or year % 400 == 0:
    ## return True
    ## else:
    ## return False




    def suma_dias(lista):
    dias=0
    for año in lista:
    if (año%4 == 0 and not año%100 == 0) or year%400 == 0:
    dias=dias+366

    else:
    dias=dias+365
    return dias




    print("** Programa que calcula la cantidad de dias en un año determinado **")

    year=float(input("Ingrese la cantidad de año a evaluar:"))

    print(suma_dias((range(year))))



    By Sabrina S.

    ResponderEliminar
    Respuestas
    1. #Tener en cuenta que por razones obvias tiene problemas de indentado!

      Eliminar
    2. *Ultima cosita: cambien float por int !! error mio, disculpen!

      Eliminar
    3. Hola que tal, necesito ayuda con un programa que debe hacer exactamente lo contrario es decir: dado un determinado numero de dias calcule cuantos años (incluidos bisiestos) meses semanas y dias corresponden, pero basado en el calendario Ejemplo:
      Suponiendo empezar a contar los dias desde 2013:---- Si el usuario ingresa 5 la respuesta seria:
      0 años 0 meses 0 semanas y 5 dias

      pero si el usario ingresa 6 la respuesta debe ser:
      0 años 0 meses 1 seman y 0 dias
      esto debido a que el dia 6 es domingo y debe ser considerado ya como una semana completa ya que esta basado en el calendario

      Eliminar
    4. En realidad llevo la mayor parte hecha pero me trabe en la parte de recibir el dato ya que siempre lo divido entre 365 pero cuando es bisiesto deberia dividirlo entre 366, por que si no me quita un dia del año bisiesto, este es mi código:
      https://mega.co.nz/#!VVsiiIDL!OTXtPR_QcFtrsQvon0088SLpi4lLpvJ4IfpXhd4M8Fc

      Eliminar
  69. Alguien me puede ayudar. necesito programar una aspiradora con phython. Es decir que al ejecutarse, imprima una matriz de 8x8(por ejemplo)en forma aleatoria(random), y que se vean (X)como las partes sucias y (-) como las partes limpias. La aspiradora(0) debe estar ubicado aleatoriamente y empezar a limpiar las partes sucias que encuentre alrrededor de su estado actual.
    X X - X - X - -
    - X X X O X - X
    - - - X - - X -
    X - X - - - - -
    X X - X - X - X
    - - - - - - - X
    - X - X - - X -
    - - - - - X - -
    seria una matriz con los datos aleatorios, y la aspiradora(0) buscaria la rutas mas cercana(izquie,derc,arriba,abajo) que este sucia y la limpie(la actualize con (-)).
    1.- Podria ser una forma: que limpie y avance hasta donde se encuentre con una pocision en que todo a su alrrededor(1 sola posicion der o izqu o arriba o abajo) este limpio.
    2.- o pueda que limpie toda la matriz pero que busque la ruta mas optimaa(que empieze a limpiar de los mas cercanos a los mas alejados de su posicion)
    GRACIAS DE ANTEMANO, SI ALGUIEN PUEDE AYUDARME.

    ResponderEliminar
  70. But it is also targeting the broad Asian fashion market.
    2 Someone said he needed some color and style to your hair to add subtle or dramatic effect.


    Check out my website - http://pagesfriends.com/index.php?do=/profile-122156/info

    ResponderEliminar
  71. Hola tengo un problema por favor ayúdenme, tengo que hacer como una selección de votos en donde tengo 3 personas aspirantes a reinas, me tiene que salir una opción en donde selecciono a la reina1o reina2 o reina3 luego me tiene que salir cuantos votos tiene cada una y quien es la gana dora, todo este proceso se tiene que repetir cuando presione cualquier letra.

    ResponderEliminar
  72. hola buenas! quisiera saber si alguien me puede ayudar, resulta que tengo que hacer un programa donde yo digite fechas se guarden en la base de datos y que a la hora de digitar la fecha desde teclado me aparezcan en orden, estoy trabajando con python. les agradeceria mucho la ayuda

    ResponderEliminar
  73. hola
    tengo problemas con estos ejercicios:

    -Dada la siguiente lista [1, 14, 56, 43, 23, 46, 58,123, 67 ]
    hallar el numero mas alto utilizando la sentencia for.


    -Dada la siguiente lista [3, 34, 56, 77, 90, 101, 5, 43, 56, 74]
    imprimir por pantalla todos los números pares

    alguien me puede dar una mano?

    ResponderEliminar
  74. hola, quisiera que me ayudaras con este ejercicio. se que no tiene que mucho con los ejercicios mostrados, pero realmente necesito su ayuda.
    Escriba un programa que lea del teclado una frase y reemplace por mayúsculas todas las
    primeras letras de cada palabra.

    ResponderEliminar
  75. AYUDAAA POR FAVORRRR T_T
    CON ESTE PROBLEMA

    EN UNA EMPRESA SE VA INCREMENTAR LOS SUELDOS DE LOS EMPLEADOS PARA ESTO,SE GUARDA EN UN VECTOR LOS NOMBRES DE LOS N EMPLEADOS Y EN OTRO VECTOR SUS SUELDOS ACTUALES SE PIDE CALCULAR EL NUEVO SUELDO, SABIENDO QUE PARA ELLOS QUE GANAN MAS DE 2500 SE LE INCREMENTARA EL 8%, CASO CONTRARIO, SE LE INCREMENTARA EL 10%; DEBE PODER LISTAR EN ORDEN ALFABETICO O EN ORDEN DE LOS SUELDOS(MENOR A MAYOR)
    :D

    ResponderEliminar
  76. 2. Para calcular el valor presente (PV) de una anualidad (A) con tasa de interés compuesta (i) que es pagada en forma perpetua (períodos infinitos) se sigue de la siguiente forma:
    Forma 1
    PV(P)= A/i

    Sin embargo, para determinar el PV de una A con tasa i en "n" períodos se debe calcular de la siguiente forma:
    Forma 2
    PV(A)= A/i*(1-(1/(1+i)^n))

    Confeccione un programa en Python que lea desde teclado al valor de una anualidad en pesos y la tasa de interés compuesto, y luego determine en primer período donde la diferencia entre la forma 1 y la forma 2 es menor a $0,5.
    (Para probar, si ingresa una anualidad de $28.000 y una tasa de interés del 7% el período 201 es donde al valor presente de este flujo es $399.999,5034, menos de $0,5 que $400.000)



    a=input("ingrese valor de anualidad")
    i1=input("ingrese tasa de interes en %")
    i=i1/100.0
    vpp=a/i
    n=1
    sigue=True
    while sigue:
    vp=(a/i)*(1-(1/(1+i)**n))
    if (vpp-vp <0.5):
    sigue=False
    else:
    n=n+1
    print n,vpp,vp

    ResponderEliminar
  77. Hola me pueden ayudar con este programa a realizar en python
    En una ciudad se conocen los siguientes datos de los ciudadanos: Nombres, Apellidos, Edad, C.I., Sexo, Estado Civil, Nacionalidad. Si el sexo es masculino se conoce si tiene pies planos o no y si ha prestado servicio militar. Se desea que diseñe una estructura de datos para almacenar esta información. Además se pide un programa que permita las siguientes operaciones: a) listar toda la población que puede votar en las próximas elecciones, b) listar aquellos ciudadanos que pueden prestar servicio militar.

    ResponderEliminar
  78. ayúdenme con este algoritmo por favor:
    Escribir un programa que lea una frase y a continuación visualice cada palabra de la frase una debajo de otra, seguida cada palabra del número de letras que compone cada palabra.

    ResponderEliminar
  79. hola como estan me pueden ayudar con este ejercio por favor :

    En el basquetbol existen tres diferentes tipos de anotaciones:

    el tiro libre (L), que vale un punto,

    el doble (D), que vale dos puntos, y
    el triple (T), que vale tres puntos.

    Un partido de basquetbol esta dividido en varios perıodos.
    Usted debe escribir un programa que reciba como entrada uná unica lınea, que contenga todas las anotaciones realizadas por un equipo de basquetbol durante un partido. Las anotaciones de perıodos distintos deben ir separadas por un espacio. Como salida, debe mostrar la cantidad de
    puntos obtenidos en cada perıodo y los puntos totales, siguiendo el formato del ejemplo:

    Anotaciones:
    DDTDLLDD DDLDT TDTLLD DDDDD
    15 puntos en el periodo 1
    10 puntos en el periodo 2
    12 puntos en el periodo 3
    10 puntos en el periodo 4
    Total: 47 puntos

    ResponderEliminar
  80. un problema que no se como hacerle...

    El metro ofrece su servicio de transporte de lunes a viernes desde las 06:30 hasta
    las 22:30. El horario punta comienza desde las 07:30 hasta las 09:00 (incluidos) y se reanuda desde
    las 18:00 a las 19:00 hrs (incluidos). El resto del tiempo se considera horario normal. El servicio consta de trenes largos, compuestos por 4 vagones, y trenes cortos, compuestos por 2 vagones.
    Durante el horario normal circulan trenes largos cada 12 minutos. En el horario punta circulan trenes largos y trenes cortos, de manera intercalada cada 6 minutos. Desarrolle un programa en
    Python que, en base a la hora ingresada por el usuario, determine si se encuentra en horario
    punta o normal. Ademas debe indicar cuantos minutos faltan para que llegue el proximo tren y la cantidad de vagones que tiene

    Hint: En horario punta, el primer tren en circular siempre es largo, mientras el segundo es corto y así sucesivamente

    Por ejemplo:
    Ingrese hora:08:15
    Se encuentra en horario punta
    El tren tiene 2 vagones
    Debe esperar 3 minutos

    Ingrese hora:09:30
    Se encuentra en horario normal
    El tren tiene 4 vagones
    Debe esperar 6 minutos

    Ingrese hora: 18:24
    Se encuentra en horario punta
    El tren tiene 4 vagones
    El tren se encuentra en el anden!

    Ingrese hora:23:00
    Ya no se encuentran trenes en este horario

    ResponderEliminar
  81. hola me pueden ayudar con el ejercicio graciias

    Escribir un programa que reciba una a una las notas del usuario, preguntando a cada paso se desea ingresar mas notas, e imprimiendo el promedio correspondiente.

    ResponderEliminar
    Respuestas
    1. hola anonimo espero que esto te pueda ayudar

      n=int(input("cuantas notas quiere ingresar:"))
      while n !=0:
      suma=0.0
      for i in range(1,n+1):
      x=float(input("nota %d:"%i))
      suma=suma+x
      p=suma/n
      print "el promedio es:",p

      n=int(input("\ncuantas notas quiere ingresar:"))

      raw_input()

      Eliminar
  82. /*Mostrar cuantos euros representan la cantidad proporciondad desde el teclado*/
    /*Hacerlo para K cantidades*/
    Me puedes ayudar con este programa porfavor

    ResponderEliminar
  83. Escriba un programa en Python que, dada una
    lista de nombres y una letra, devuelva una
    lista con todos los nombres que empiezan por
    dicha letra.... AYUDAAA alguien que resuelva eso :(

    ResponderEliminar
  84. Necesito ayuda con este ejercicio por favor.
    Hacer un programa que solicite al usuario la cantidad de valores enteros a procesar, luego, para cada valor leído debe determinar si es divisible tanto por 5 como por 6, o si es solo divisible por 5, o sólo divisible por 6 o por ninguno. debe imprimir en pantalla cada valor y su divisibilidad.

    ResponderEliminar
  85. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  86. Alguien podria ayudarme con este programa:
    Haz un programa que pida el valor de dos enteros n y m y calcule el sumatorio de todos los números pares comprendidos entre ellos (incluyéndolos en el caso de que sean pares).
    Gracias

    ResponderEliminar
  87. Estimado Señor / Señora ,

    mis nombres son mr Antonion Ofrecemos préstamos privados , comerciales y muy personal , con tasas anuales de interés mínimos de sólo 3 % dentro de 1 año a 40 años
    del período de duración de reembolso a cualquier parte del mundo . Y Damos préstamos dentro del rango de $ 2.000 a $ 100,000,000.00 USD.Our préstamos están bien asegurados y la máxima seguridad es nuestra prioridad , las personas interesadas deben ponerse en contacto con nosotros hoy a través de correo electrónico : legiantonioloanfirm@hotmail.com


    PRIMERA INFORMACIÓN NECESARIA

    Nombre Completo ....................................

    Teléfono Personal ............................

    País ...........................................

    Dirección ......................................

    Estado ..............................

    Edad .............................................

    ¿Ha aplicado antes? .......................

    Estado civil .................................

    El monto del préstamo necesario como préstamo .....................................

    Duración del préstamo .................................

    Ocupación ....................................

    Ingreso Mensual .............................

    Espero con gusto su respuesta rápida ,

    Saludos cordiales ,
    Sr. Antonio

    ResponderEliminar
  88. alguen me podria ayudar porfavor.

    a) Crear una función que permita calcular el valor en pesos chilenos de un producto si como parámetro de entrada recibe un valor en dólares.
    b) Crear una función que retorne V o F si el parámetro ingresado es o no un número par.
    c) Crear una función que retorne la cantidad de números impares que existen entre el cero y el valor de un parámetro ingresado.
    d) Crear una función que permita calcular el factorial de un número.
    e) Crear una función que retorne las horas a las que equivale la cantidad de días ingresada como parámetro.

    ResponderEliminar
  89. programación orientada a objetos, simule la existencia de dos máquinas y un simulador que permita elegir la máquina que ofrezca más ganancias .
    para una simulación las dos máquinas producen el mismo tipo de “Producto”, cada producto tiene un nombre y un precio. Cada máquina tiene una cantidad de producto que puede fabricar por hora. Además, cada máquina tiene un costo en colones asociado al costo de operación por hora. A cada una se le asocia una probabilidad (valor entre 0.0 y 1.0) de fallar. Debido a lo anterior, el proveedor de cada máquina le asigna una garantía de reparación de fallas que establece el tiempo máximo en horas que durará la máquina para ser reparada. Note que cualquiera de las máquinas en un momento dado puede estar funcionando o puede estar descompuesta.
    La simulación que se quiere llevar a cabo necesita obtener del usuario varios parámetros de configuración como lo son: la cantidad de horas por día que funcionarán las máquinas, cantidad de días por semana que trabajarán las máquinas, cantidad de (meses, días y horas) de producción continua que serán simulados para tomar la decisión, precio por producto y las características de cada máquina incluyendo su costo por hora, la probabilidad de fallar, la cantidad de horas que duran en ser reparada y el estado funcional de la misma.
    Se asumen varias cosas:
    a La simulación llevará a cabo una iteración por unidad de tiempo.
    b La unidad de tiempo será de 1 hora.
    c Un mes corresponde a 4 semanas.
    d Si una máquina falla, será reparada automáticamente cuando se llegue al tiempo máximo de horas para su reparación después de la falla (pero no puede producir nada mientras está descompuesta).
    e La simulación trabajará únicamente con dos máquinas a la vez.
    f En cualquier momento, entre una simulación y otra se pueden cambiar las características de una o ambas máquinas para volver a ejecutar la simulación.


    ResponderEliminar
  90. nesecito que me ayude en la solucion de 3 ejercicios ;;;;;; ma;ana tego un examen y necesito full ayuda ..
    estos son los ejercicios q si me puede ayudar
    Ejercicio 1. Escribir una función que reciba una cadena que contiene un largo número entero y devuelva una cadena con el número y las separaciones de miles. Por ejemplo, si recibe ’1234567890’, debe devolver ’1.234.567.890’.
    Ejercicio 2. Escribir una función que dada una cadena de caracteres, devuelva: a) La primera letra de cada palabra. Por ejemplo, si recibe ’Universal Serial Bus’ debe devolver ’USB’. b) Dicha cadena con la primera letra de cada palabra en mayúsculas. Por ejemplo, si recibe ’república argentina’ debe devolver ’República Argentina’. c) Las palabras que comiencen con la letra ’A’. Por ejemplo, si recibe ’Antes de ayer’ debe devolver ’Antes ayer’
    Ejercicio 3. Escribir funciones que dadas dos cadenas de caracteres: a) Indique si la segunda cadena es una subcadena de la primera. Por ejemplo, ’cadena’ es una subcadena de ’subcadena’. b) Devuelva la que sea anterior en orden alfábetico. Por ejemplo, si recibe ’kde’ y ’gnome’ debe devolver ’gnome’

    ResponderEliminar
  91. Me podrias ayudar a REALIzar UN PROGRAMA Q ALMACENE EN UN ARCHIVO EL CUADRADO DE LOS MULTIPLOS DE 4 ENTRE 50 Y 500

    ResponderEliminar
  92. SE LOS AGRADECERIA SI PUEDEM AHORITA

    ResponderEliminar
  93. necesito ayuda urgente!! estoy buscando por todos los medios en python resolver lo siguiente: "escribir un programa que pida os números enteros y escriba la suma de los números que van desde el primero al segundo" alguien me puede ayudar?? se lo suplico!!!!!!!!

    ResponderEliminar
  94. necesito ayuda urgente
    Escribir un programa en C utilizando funciones que permita leer una cantidad N de fechas en el siguiente
    formato día, mes y año, para cada fecha leída el programa almacenará en una variable de tipo cadena la
    fecha en formato numérico para posteriormente imprimirla. Por ejemplo, si se leen los siguientes datos:
    Día: Martes
    Mes: Mayo
    Año: 2010
    El programa deberá generar una variable de tipo cadena con los datos introducidos como se muestra a
    continuación 02/05/2012 para después ser impresa. El programa deberá terminar la lectura de datos
    cuando la fecha leída sea Día: 99, Mes: 99, Año: 99.

    ResponderEliminar
  95. hola a todos quien me podria ayudar, algunos de ustedes tienen implementado en metodo de la M o sea simplex en cualquier lenguaje se los voy a agradecer gracias o el metodo de transporte.
    salud2

    ResponderEliminar
  96. hola que tal, ami me estan pidiendo en Python a demas de ingresar el numero de filas y de columna por teclado de una matriz y los componentes que eso si lo se hacer.
    Me piden que busque dentro de los componentes de la matriz los valores maximos y minimos de la misma obviamente como función y que luego haga otra función que los ordene.
    Alguien me podria orientar!!!! estoy re perdida y tengo que rendir en una semana!!!
    Muchas Gracias

    ResponderEliminar
  97. hola a mi me estan pidiendo calcular el salario nuevo de un obrero si obtuvo un incremento del 25% sobre su salario anterior ayudenme xfa es en visual basic y analisis, pseudocodigo.
    muchas gracias

    ResponderEliminar
  98. hola nesecito ayuda urgente por favor
    EJERCICIOS DE ESTRUCTURAS DE CONTROL

    1. Se desea leer desde el teclado a una serie de números hasta obtener un número inferior a 100.


    2. Escribir un algoritmo que permita escribir en una pantalla la frase ´¿Desea Continuar? S/N´, hasta que la respueta sea ‘S’ o ‘N’.


    3. Leer sucesivamente números del teclado hasta que aparezca un número comprendido entre 1 y 5.




    ResponderEliminar
  99. hola... me podrian ayudar con un ejercicio: que dada una fecha, si le sumamos un cierto numero de dias me devuelva una nueva fecha valida. en python

    ResponderEliminar
  100. La fórmula C' = C · (1 + x/100)*n nos permite obtener el capital final que lograremos a

    partir de un capital inicial (C), una tasa de interés anual (x) en tanto por cien y un número

    de años ( n).

    Si lo que nos interesa conocer es el número de años n que tardaremos en lograr un capital final C' partiendo

    de un capital inicial C a una tasa de interés anual x, podemos despejar n en la fórmula del ejercicio 67 de la siguiente manera:


    n = ( log(C') − log(C) ) / ( log(1 + x/100) )

    Diseña un programa Python que obtenga el número de años que se tarda en conseguir un capital final dado a partir de un

    capital inicial y una tasa de interés anual también dados. El programa debe tener en cuenta cuándo se puede realizar el

    cálculo y cuándo no en función del valor de la tasa de interés (para evitar una división por cero, el cálculo de logaritmos de

    valores negativos, etc). . . con una excepción: si C y C' son iguales, el número de años es 0 independientemente de la tasa de interés

    (incluso de la que provocaría un error de división por cero)
    COMO RESUELVO ESTO?

    ResponderEliminar
  101. Un capital de C euros a un interés del x por cien anual durante n años se convierte en

    C · (1 + x/100)n euros.

    Diseña un programa Python que solicite la cantidad C y el interés x y calcule el capital final sólo si x es una cantidad positiva.
    como lo hago?

    ResponderEliminar
  102. ayuda
    hacer en java un programa que permite el ingreso de 2 matrices de valores enteros positivos comprendidos entre 15 y 100 y que obtenga el producto de ambas matrices y lo muestre en pantalla

    ResponderEliminar
  103. Hola a todos.

    Python esta de moda.. y parece que cada dia mas...

    Asi que les dejo algunos enlaces en donde podran practicar Python

    http://www.codecademy.com (donde encuentran cursos de python, java, html5, etc.. y full practica)

    http://www.codeskulptor.org/ (aqui pueden practicar en linea)

    Salu2

    Atte.

    ResponderEliminar
  104. Hola,

    Yo soy el señor José Rico un prestamista privado de préstamos y damos crédito a una tasa de interés del 2 % , ofrezco préstamo a particulares y empresas o grupos de personas que son económicamente hacia abajo.
    Es una oportunidad económica a su paso de la puerta hoy y reciba un préstamo rápido que hay.
    Hay muchas oportunidades financieras y de asistencia en todo el sitio y aún no pueden tomarla . Pero es una oportunidad financiera en su puerta , y la sequía y no puede perder esta oportunidad de oro .
    Se proporciona servicio a las personas, las empresas, y los hombres y mujeres de negocios . El monto del préstamo está disponible en un rango de $ 1,000.00 a $ 500,000,000.00 o su elección . Aquí hay algunas preguntas : ¿Está usted en necesidad de sentido préstamo Queremos que pague las facturas que usted está en problemas financieros , usted necesita una solución financiera? . Aquí está la solución a todos sus problemas financieros.
    Dar préstamos para proyectos , negocios , impuestos, facturas, y muchas otras razones, nuestros préstamos son fáciles y * censurado * Para más información póngase en contacto con nosotros por e- mail: joserichloanlender@yandex.com o también puede contactar con nosotros a través de nuestra línea de la oficina +447024082749 para que podamos servirle mejor a nuestros servicios financieros que ofrecemos en todo el mundo

    ResponderEliminar
  105. hola a todos quisiera saber si alguien puede ayudarme con este problema debe ser realizado en Python muchas gracias

    halla como sigue: a la derecha del primer 1 hay 4 dígitos dando 24 = 16, a la
    derecha del segundo 1 hay dos dígitos que representa 22 = 4. Sumando ambos
    tenemos su equivalente decimal que es 20.
    Entrada
    La entrada contiene el número que queremos representar en binario.
    Salida
    Escriba en una línea el número mínimo de bits que se requiere para representar
    este número.
    Ejemplos de entrada Ejemplos de salida
    32 6
    12 4
    1 1
    Problema
    Para el dato de entrada siguiente escriba un programa que halle la respuesta.
    1500
    La respuesta que debes entregar es:
    11

    ResponderEliminar
  106. nescesito eliminar las vocales de una frase ingresada. ej 'hola como estas' me daria 'hol como sts'

    ResponderEliminar
  107. Hacer un algoritmo en JAVA traductor de los meses del año, si se ingresa 1: imprimir “Enero”, 2: “febrero”, 3: “Marzo” así hasta diciembre.

    ResponderEliminar
  108. Elaborar un programa en pseudocódigo para determinar si un estudiante aprueba o reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 10.5; reprueba en caso contrario.

    ResponderEliminar
  109. Elabore un programa en JAVA para Ingresar un número que represente segundos y determinar a cuanto equivale en horas, minutos y segundos.

    ResponderEliminar
  110. cree un método que imprima si el año es bisiesto o no bisiestro

    ResponderEliminar
  111. gracias me sirvió mucho, espero contar contigo para mas adelante.
    saludos.

    ResponderEliminar
  112. buen día

    UNIÓN DE PRÉSTAMO DE INVERSIÓN Hola, Somos un prestamista certificado, así como un inversionista ángel He estado en este negocio en forma de préstamos y Angel tienen una buena mente para los necesitados, no robar. Este préstamo viene de la
    UNIÓN DE PRÉSTAMO DE INVERSIÓN e inversiones (Common Wealth Incorporated) En nuestro programa de préstamos, las tasas de interés son bajas, pero en el corto plazo en efectivo. Interés necesario para el préstamo es del 2% con una duración de no más de 360 ​​meses (30 años), pero puede ser menos. La duración mínima para este préstamo es de 6 meses. Para estos seis meses, esperamos que el prestatario para hacer pagos del préstamo que hace que sea aún más fácil de pagar. Correo electrónico; unionloaninvestment@gmail.com informarnos su dirección. Espero su respuesta lo antes posible. Para cualquier pregunta, no dude en preguntar. Saludos Sir Robert Mark

    ResponderEliminar
  113. Haga un programa que muestre todos los números pares entre 0 y 1000, ambos inclusive (0, 2, ..., 1000).

    ResponderEliminar
  114. Agradeceria si me pudiesen ayudar en este ejercicio, gracias....
    Crear un programa que genere 100 patentes de vehiculos
    #con las siguientes condiciones:
    # Cada patente se debe generar de forma aleatoria.
    #No se debe repetir ninguna patente

    ResponderEliminar
  115. Por favor se los agredeceria...

    ResponderEliminar

  116. me falta una linea de codigo en este algoritmo para calcular la edad
    import datetime
    import time


    print"introduce tu la fecha de nacimiento"
    dia=int(input('dia:'))
    mes=int(input('mes:'))
    ano=int(input('ano:'))
    t=time.time()

    if (dia>31)or(mes>31)or(ano<1000)or(ano>2014):
    print"Error al ingresar datos"


    input('presione una tecla para salir....')

    ResponderEliminar
  117. ALGUIEN QUE SEA TAN AMABLE DE AYUDARME NO SE COMO CREAR LAS OPERACIONES PARA QUE ME DÉ EL RESULTDAO CORRECTO, LO DEMÁS SI LO SE
    Un comerciante tiene en su negocio una venta de granizados, los trozos de hielo que el compra para elaborarlos son de 0.6 m de largo por 0,4 m de alto y 0.2m de ancho.

    Si el hielo se deshace a razón de 0.1 % por hora, genere un programa python que calcule cuántos granizados puede vender. 0,001/h


    El programa general (main) posee una interfaz amigable que introduce al usuario en el empleo del programa.

    Además, para asuntos operativos del mismo presenta un menú de selección de procesos, dentro de los cuales esta: salida del programa, cálculo del volumen de hielo utilizado en las ventas, cálculo del volumen de hielo derretido, costo del hielo derretido, ganancia de ventas y proyección de ganancias.

    Para ello, el programa main, le preguntará al usuario cuantas horas ha trabajado con el mismo bloque de hielo, luego en base a ese tiempo le preguntará cuántos vendió durante la primera hora, durante la segunda y así hasta la última hora en que ha usado ese bloque.

    En base en esa información, un módulo de cálculo determinará la pérdida que se ha tenido hasta el momento y cuánto sería el máximo número de granizados a vender y cuánto sería la venta estimada si el resto del hielo es usado con una pérdida supuesta igual al promedio de las pérdidas anteriores.

    Al igual de deberá un módulo para el cálculo financiero (ganancia, pérdida, proyección de ganancia).
    Suerte: Suponga que cada granizado contiene 125 centímetros cúbicos.
    Recuerde que un metro cúbico tiene diez a la menos seis centímetros cúbico


    Fórmulas:
    masa final al terminar la hora = masa_inicial de la hora anterior* (1 - 0,001) (en kg)
    masa de total de copos = No. granizados * 125 x 10-6 kg
    masa derretida = 0,001*masa inicial de la hora anterior
    Pérdida: masa de hielo derretido / volumen granizado*por costo del hielo
    Ganancia = No. de granizados vendidos* (precio de un granizado – costo de un granizado * 1.4)
    Proy= {(masa de copos - masa derretida)/masa total 2 }*(masa total –masa de copos – masa derretida)*costo de un copo

    ResponderEliminar