Ejercicios en python (Parte 2)

Voy a dejar 10 nuevos ejercicios python. Esta ves un poco mas complejos que Ejercicios en python (Parte 1)

Ejercicios Python
Ejercicios Python

los anteriores. Si no vieron los primero ejercicios, acá dejo la entrada:
Como dije en la primera entrada, los ejercicios tienen muchas formas de resolverse. Para los mas experimentados quiza les lleve unas pocas lineas de codigo, para otros que recién empiezan quizá les lleve un poco mas de código.
En la semana dejare las soluciones en una entrada nueva y al final de este post para compararlas con las soluciones de ustedes.
Estaría bueno que puedan comentar en caso de dudas o dejar sus soluciones para compararlas o para ayudar al resto de la comunidad.

Ejercicio 1
La función max() del ejercicio 1 (primera parte) y la función max_de_tres() del ejercicio 2 (primera parte), solo van a funcionar para 2 o 3 números. Supongamos que tenemos mas de 3 números o no sabemos cuantos números son. Escribir una función max_in_list() que tome una lista de números y devuelva el mas grande.

Ejercicio 2
Escribir una función mas_larga() que tome una lista de palabras y devuelva la mas larga.

Ejercicio 3
Escribir una función filtrar_palabras() que tome una lista de palabras y un entero n, y devuelva las palabras que tengan mas de n caracteres.

Ejercicio 4
Escribir un programa que le diga al usuario que ingrese una cadena. El programa tiene que evaluar la cadena y decir cuantas letras mayúsculas tiene.

Ejercicio 5
Construir un pequeño programa que convierta números binarios en enteros.

Ejercicio 6
Escribir un pequeño programa donde:
- Se ingresa el año en curso.
- Se ingresa el nombre y el año de nacimiento de tres personas.
- Se calcula cuántos años cumplirán durante el año en curso.
- Se imprime en pantalla.

Ejercicio 7
Definir una tupla con 10 edades de personas.
Imprimir la cantidad de personas con edades superiores a 20.
Puedes variar el ejercicio para que sea el usuario quien ingrese las edades.

Ejercicio 8
Definir una lista con un conjunto de nombres, imprimir la cantidad de comienzan con la letra a.
También se puede hacer elegir al usuario la letra a buscar.  (Un poco mas emocionante)

Ejercicio 9
Crear una función contar_vocales(), que reciba una palabra y cuente cuantas letras "a" tiene, cuantas letras "e" tiene y así hasta completar todas las vocales.
Se puede hacer que el usuario sea quien elija la palabra.

Ejercicio 10
Escriba una función es_bisiesto() que determine si un año determinado es un año
bisiesto.Un año bisiesto es divisible por 4, pero no por 100. También es divisible por 400

Bueno espero se entretengan un buen rato con estos ejercicios. Si tienen alguna duda estaría bueno que puedan dejar sus comentarios.
Bueno nos vemos en las soluciones...

  1. Unknown dice:

    El primero ejercicio me sirvió muchísimo, ni siquiera sabía que se podían usar listas como argumentos de funciones, yo lo resolví más primitivamente, con un bucle, más o menos así:

    def maxmin():
    r="si"
    l=[]
    while r:
    n=float(input("Numero: "))
    op=input("Deseas agregar otro numero: ")
    if op=="si":
    l.append(n)
    pass
    elif op=="no":
    r=op
    l.sort()
    for i in l:
    print (i)
    print ("El mayor es ", l[-1])
    break

    1. PythonDiario dice:

      Me alegro te haya servido. Esta noche miro bien tu código. Saludos y gracias por comentar.

    2. cesar moncada dice:

      hola amiga gracias por los ejercicios sirven mucho para ir familiarizandose con la sintaxis, te quiero preguntar si sabes el equivlente del gotoxy en python ? uso el editor por defecto que trae python pero me gustaria saber el equivalente

    3. PythonDiario dice:

      Hola cesar, creo que necesitas el modulo curses para hacer lo mismo que el gotoxy, fijate en este enlace haber si es lo que necesitas: http://www.python.org/doc//current/howto/curses.html

      Saludos

    4. Roger dice:

      n=float(input("Numero: "))

      no recomiendo usar el metodo float, int o str en el mismo input, porque si el usuario ingresa algo que no sea eso romperá el programa. Es mejor recogerlo como string y después comprobar si puede ser int y actuar en consecuencia

  2. Anónimo dice:

    Este comentario ha sido eliminado por un administrador del blog.

  3. Unknown dice:

    Hola, gracias por publicar la solucion del primer ejercicio soy un novato y no hayaba como hacerlo. Pero analizando tu código logré pulirlo un poco más, revisalo a ver que tal. Lo que hice fue eliminar la variable r y le quite el pass que le habias colocado

    def maxmin():
    L =[]

    while True:
    n = float(input("Numero: "))
    op = raw_input("Deseas agregar otro numero: ")
    if op == "si":
    L.append(n)
    elif op == "no":
    L.append(n)
    L.sort()
    print "El mayor es ",L[-1]
    break

    maxmin()

  4. Unknown dice:

    compañero, como hago para llenar un vector, pero que sea el usuario quien lo haga, e intentado con ciclos, pero las funciones raw_input, y demás no me funcionan, porque si establezco un vector vacio, no me lo permite, agarezco una respuesta, gracias.

    1. PythonDiario dice:

      Hola Camilo, fijate el siguiente codigo, es solo para agregar un elemento, pero tu lo puedes modificar como quieras, espero te sirva, saludos.

      a = []

      def llenarVector(vector):
      ----x = raw_input("Ingrese un dato")
      ----vector.append(x)

      llenarVector(a)

    2. Unknown dice:

      Gracias por tu respuesta amigo. Tengo esta solución:
      mensaje = "Ingrese el valor: "
      n = 5

      vector = [
      int(raw_input(mensaje))
      for i in range(n)

      ]

      print vector

    3. Unknown dice:

      y este para matrices:

      m = "Ingrese valor: "

      def Matriz(x,y,mensaje):
      matriz = [[
      int(raw_input(mensaje))
      for i in range(x)
      ]for j in range(y)]
      return matriz

      print Matriz(3, 3, m)

  5. Anónimo dice:

    Muy buenas soluciones, muchas gracias!

    1. Anónimo dice:

      quise decir ejercicios jejeje, las soluciones también están geniales!

    2. PythonDiario dice:

      Jaja se entendio, gracias por pasarte por el blog. Saludos

  6. Unknown dice:

    Respecto al ejercicio uno la solución más rápida me parece esta:

    def max_in_list(lista):
    mayor=0
    for i in range (len(lista)):
    if lista[i]>mayor:
    mayor=lista[i]
    return mayor

    Y si queremos visualizar el resultado en pantalla podemos aplicar una salida semejante a esto:

    mi_lista=[1,5,8,9,4,6,8,7,5,8]
    print 'El mayor de los numeros de la lista es ',max_in_list(mi_lista)

    Espero que os sirva el aporte.

    1. PythonDiario dice:

      Excelente Sergio, gracias por el aporte y por pasarte por el blog. Saludos

    2. Unknown dice:

      def max_in_list(l):
      aux=None
      for i in l:
      if aux==None:
      aux=i
      elif aux<i:
      aux=i
      return aux

    3. Anónimo dice:

      Hola Sergio, veo un problema a tu solución. Como no puedes controlar si el usuario o tu mismo creas realmente un vector de números, tienes que hacer el casting primeramente del valor

      #! /usr/bin/env python
      # -*- coding: utf-8 -*-

      def max_in_list(milista):
      valor_max=0
      for i in milista:
      if int(i) > valor_max:
      valor_max = int(i)
      return valor_max

      lista1=[1,2,3,4,5,66,77,8,9]
      print max_in_list(lista1)

    4. Anónimo dice:

      def max_in_list(lista: iter) -> int:
      # return max(lista) => manera corta
      highest = 0
      for x in lista:
      if x > highest:
      highest = x
      return highest

      lista = ([32, 2, 6, 2465, 23, 62523, 2, 46, 142])
      print(f'Mayor num en lista {lista}: {max_in_list(lista)}')

    5. Jorge dice:

      Yo lo resolví asi

      def max_in_list(lista):
      max = 0
      for n in lista:
      if n > max:
      max=n
      print(n)

      lista = [1,2,3,4,5,6,7,8,10]

      max_in_list(lista)

  7. briannstiven dice:

    Escribir un programa que le diga al usuario que ingrese una cadena. El programa tiene que evaluar la cadena y decir cuantas letras mayúsculas tiene.

    hola tengo este problema que cuando imprimo las mayúsculas me incluye los espacios y no se como solucionarlo ya que es a petición del usuario y no tengo un numero exacto de valores a eliminar

    def mayu(cadena):
    cont = 0
    a=[ ]
    a.extend(cadena)
    for x in a:
    if x == x.upper():
    cont+=1
    print cont

    preg = raw_input('cadena?') #MaMa Me QuIeRe MuChO 'este es el texto
    mayu(preg) # me devuelve 12

    1. PythonDiario dice:

      Hola Brian, fijate en esto:

      def mayu(cadena):
      cont = 0
      a=[ ]
      a.extend(cadena)
      abc = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
      for x in a:
      if x in abc:
      cont+=1
      print cont

      Saludos

    2. Anónimo dice:

      También tenia el mismo problema y una solución alternativa puede ser:

      def contar_mayus (lista):
      contador = 0
      for letra in lista:
      if letra == letra.upper():
      if letra != ' ':
      contador += 1
      return contador

    3. Richard Martinez dice:

      Tambien podría ser ésta:

      def buscar_mayus(palabra):
      cont = 0

      for char in palabra:
      if char.isupper():
      cont += 1
      print("Mayusculas encontradas:",cont)

    4. Ivan Galicia dice:

      Aqui otra propuesta 🙂

      """
      Escribir un programa que le diga al usuario que ingrese una cadena.
      El programa tiene que evaluar la cadena y decir cuantas letras mayúsculas tiene.
      """
      var = "Escribir un programa que le diga al usuario que ingrese una cadena. El programa tiene que evaluar la cadena y decir cuantas letras Mayúsculas tiene."

      def cuantas_mayusculas(frase):
      set_mayusculas = [chr(letra) for letra in range(65, 91)]
      mayusculas = [letra for letra in frase if letra in set_mayusculas]
      return len(mayusculas)

      print(cuantas_mayusculas(var))

    5. Anónimo dice:

      Aquí dejo mi solución .......

      #! /usr/bin/env python
      # -*- coding: utf-8 -*-

      def max_in_list(cadena):
      valor_max=0
      for i in range (0,len(cadena)):
      caracter = cadena[i]
      if caracter.isupper():
      valor_max= valor_max + 1
      return valor_max

      print 'Introduce cadena'
      cadena = raw_input()
      cadena=str(cadena)
      print cadena
      print max_in_list(cadena)

    6. Anónimo dice:

      Mi solucion fue esta:

      cadena = input('ingrese una cadena')
      #para eliminar los espacios:
      cadena = cadena.replace(' ', '')
      cont = 0
      for i in cadena:
      if i == i.upper():
      cont += 1
      print('cantidad de mayúsculas: ', cont)

  8. Kuouz dice:

    Muy buenas, en el ejercicio 7 veo un pequeño problema. Si no me equivoco a las tuplas no se le pueden añadir elementos, por lo tanto si pedimos al usuario que ingrese una edad no podremos incluir esas edades en una tupla vacía, verdad? Yo lo he hecho con una lista y quedaría tal que asi:

    def edades():
    lista = []
    contador = 0

    for i in range(0,10):
    lista.append(int(raw_input("Introduce edad")))

    for j in lista:
    if j > 20:
    contador+=1
    print "Hay %d personas en la tupla con más de 20 años" % contador

    edades()

    Si hay alguna forma de hacerlo con tuplas estaría bien saberlo. Saludos y gran página, enhorabuena.

    1. PythonDiario dice:

      Hola Kuouz, gracias por visitar el blog. En la primera parte pide una tupla "ya definida". Despues dice que podemos hacerlo interactuando con el usuario (ahí si lo hacemos con una lista 😉
      Saludos

    2. Kuouz dice:

      Ok gracias por responder Diego. Así lo entendí al final, pero estuve un buen rato dándole vueltas al asunto porque tampoco tenía muy clara la diferencia entre lista y tupla. He aprendido Python por otros medios y no sé si lo explicaste en algún tutorial, de momento sólo estoy haciendo los ejercicios que planteas.
      Saludos.

    3. PythonDiario dice:

      Si te fijas arriba a la derecha en el blog. Abajo de Artículos Recientes, hay un tutorial de python que empeze el año pasado. Este año tengo el objetivo de terminarlo (Quizá te sea de ayuda). Pero cualquier duda deja tu comentario que te vamos a ayudar. Saludo grande!!!

    4. Unknown dice:

      Yo lo hice de esta manera, la verdad no sabia que la tupla aceptaba listas y fue probando que me encontre con que "aparentemente si"

      def edad_superior(t):
      c=0
      for i in t:
      if(i>20):
      c+=1
      print("La cantidad de personas con edad superior a 20 son : %s"%(c))

      t=()
      s=[]
      for i in range(10):
      e=int(input("Ingrese una edad: "))
      s.append(e)
      t=s
      edad_superior(t)

  9. Anónimo dice:

    Las Tuplas Son inmutables

  10. Unknown dice:

    hola, estoy encantado con tu blog, me esta resultando de gran utilidad, enhorabuena, pero en el ejercicio 10 me ha surgido una duda que no logro solucionar. Si en el input meto como año el numero 12.00000000000000000000000011 me dice que este año es bisiesto, de todas formas se que para este caso no tiene sentido por que al ser un año tiene que ser un numero entero, pero por ejemplo si en un programa quisiermos ver si un numero es multiplo de 4 como podría solucionar este problema?, muchas gracias

  11. Unknown dice:

    Este comentario ha sido eliminado por el autor.

  12. Unknown dice:

    Han desaparecido las soluciones ! 🙁

    1. PythonDiario dice:

      En el enlace siguiente te dejo todos los ejercicios con sus soluciones: Ejercicios Python con solución

    2. Unknown dice:

      Gracias jajaja

  13. Unknown dice:

    Este comentario ha sido eliminado por el autor.

  14. Unknown dice:

    Saludos al ejecutar este codigo binario cambia de valor y no se la razón. Me podrias ayudar con el problema?

    513
    El numero 01011 en decimal es 0

    def binToInt(binario):
    aux=0
    resultado=0
    print "%d" % binario #bandera para saber el valor
    while binario>0:
    resultado = resultado+(binario%10)*2**aux
    binario=binario /10
    aux = aux +1
    return resultado

    print " El numero 01011 en decimal es %d" % binToInt(01001)

    Enhorabuena por la web.

    1. PythonDiario dice:

      Lo veo luego y te comento. Saludos

    2. Unknown dice:

      Muchas gracias, acabo de darme cuenta, el fallo esta en que el número que pasa como argumento comienza por 0 y Python lo toma como si fuese Octal. Un saludo y gracias por la web, muy entretenida.

    3. PythonDiario dice:

      Excelente. Gracias por visitarnos. Saludos

  15. Anónimo dice:

    como hago para ingresar un listado y el monto??

    1. PythonDiario dice:

      Se necesitan mas datos para ayudarte. Saludos

  16. Anónimo dice:

    Mi solución al ejercicio 9:

    cadena_ingresada = raw_input("Ingrese una palabra: ")
    cadena = cadena_ingresada.lower()

    vocales = "aeiou"
    lista = []

    for i in cadena:
    >>>/ for x in vocales:
    >>>/>>>/ if i == x:
    >>>/>>>/ lista.append(i)

    def contar_vocales(l, v):
    >>>/ print "Hay %d '%s' en la palabra '%s'" % (l.count(v), v, cadena)

    for vocal in vocales:
    >>>/ contar_vocales(lista, vocal)

  17. Shedux dice:

    def numeroMayor():
    numeros = []
    numero = input("Inserte los números a evaluar, al finalizar presione ENTER: ")
    while numero != '':
    numeros.append(numero)
    numero = input("Inserte los números a evaluar, al finalizar presione ENTER: ")
    print ("Esta es tu lista: ",numeros)
    print ("Los numeros con la función máx son: ", max(numeros))

    numeroMayor()

    ¡Aca esta mi codigo! saludos y gracias por el ejercicio número 1.

    1. Anónimo dice:

      no se valia usar la funcion max

  18. Anónimo dice:

    para el ejercicio 1 sin tanto rollo,

    #!/usr/bin/python
    #!python

    l = [1,2,3,4,5,6,7,8,9,22,10,11,12,13,14,15,16,17,18,19]

    def maximun(l):
    a = 0
    rango = ( len(l) - 1 )
    for i in range(rango):
    if( l[i] > (l[i+1] and a ) ):
    a = l[i]
    if( a > l[rango]):
    return a
    else:
    return l[rango]

    print maximun(l)

    1. Matias Carballo dice:

      mirá hasta ahora sos el unico que encontré con el que me funcionó la funcion ni la que hizo el diego el creador del blog lo unico que tenes que modificar a tu codigo es sacarle el return rango del final porque lo que hace es tirarte el ultimo del rango (en tu lista 19) no el mayor si le sacas eso te sale (22 que es el mayor en tu lista)

  19. Anónimo dice:

    perdona me podrias decir los resultados del ejercicio 6 y 8
    o la solucion xfa

    1. PythonDiario dice:

      Hola, en el siguiente enlace puedes ver todos los ejercicios:
      Ejercicios de Programación Python

  20. Anónimo dice:

    acabo de ver el ejercicio 2 resuelto y no se me ocurrió ponerle un len a la variable del for a pesar de haber pasado por ese punto varias veces sin éxito ya que el contenido de la lista era un strigt aunque tras calentarme la cabeza un buen rato obtuve esto:
    conteo = 0
    def cadena(lista):
    conteo = len(lista)
    for i in lista:
    lista_numerica.append(len(lista[conteo-1]))
    conteo -= 1
    lista_numerica.reverse()
    return lista[lista_numerica.index(max(lista_numerica))]

    lista_numerica = []
    lista = ["iug","yjfroy" ,"jyhcfjhguio" , "hg"]
    print(cadena(lista))

  21. jAndrade dice:

    Hace tiempo que hice estos ejercicios y hoy te quiero decir que me sirvieron mucho. Muchas gracias

    1. PythonDiario dice:

      Holaa!!! Me alegro mucho!!!
      Saludos, y gracias por visitar el blog

  22. Unknown dice:

    Hola! Necesito ayuda con este ejercicio, no me doy cuenta de como usar 'len' para contar los caracteres

    Realice una función de nombre contar_palabras_cortas() que reciba como argumento una cadena cualquiera y devuelva la cantidad de palabras presentes en la cadena con longitudes de hasta 5 caracteres.

  23. Ivan Galicia dice:

    Me impresiono la facilidad con la que pude escribir el ejemplo 5 a diferencia de otros lenguajes

    """
    Construir un pequeño programa que convierta números binarios en enteros.
    """

    _numero='100010110100011101'

    def bin2int(numero):
    potencias=[int(base)*2**index for index,base in enumerate(numero[::-1])]
    print(potencias)
    valor_final=sum(potencias)
    return valor_final

    print("El numero binario {} es equivalente a {}".format(_numero,bin2int(_numero)))

  24. Unknown dice:

    Gracias por esta pagina! me encantan los ejercicios

  25. Unknown dice:

    Este comentario ha sido eliminado por el autor.

  26. Unknown dice:

    Hola, necesito saber como hacer un bucle para buscar la letra mayúscula con el código ASCII . Sabéis cómo hacerlo? Lo necesito cuanto antes para poder terminar la actividad correctamente antes de este domingo.

  27. Arguez dice:

    Hola muy buenas:

    Vamos con el resultado del primer ejercicio.

    lista=[5,7,88,9,12,2,5,8,9,7]

    def funcion_max(valor):
    comprobador=0
    for i in lista:
    if comprobador<i:
    comprobador=i

    return comprobador

    print(funcion_max(lista))

  28. Arguez dice:

    lista=["RADAR", "MOSQUITO", "CASA"]

    def mas_larga(valor):
    cuentame=1
    tamaño=0
    lamaslarga=""

    for i in lista:
    cuentame=len(i)
    if cuentame>tamaño:
    tamaño=cuentame
    lamaslarga=i

    return lamaslarga

    print(mas_larga(lista))

  29. Arguez dice:

    Mi propuesta para el ejercicio 3. Un saludo.

    def filtrar_palabras(valor, entero):
    comprobador=""
    for i in valor:
    if len(i)>numero:
    print (i)

    lista=["CARRILLON", "CASA", "MOSQUITO", "ABEDUL"]
    numero=5
    filtrar_palabras(lista, numero)

  30. Arguez dice:

    Esta sería una propuesta para el ejercicio número 4, le he añadido un bucle para repetir el ejercicio tantas veces como desee el usuario.

    repetidor=0
    repe=""
    while repetidor==0:
    cadena=input("Escoge una cadena y te contaré las mayúsculas --------- > ")
    def compruebamayus(valor):
    contador=0
    for i in cadena:
    if i==" ":
    continue
    elif i==i.upper():
    contador=contador+1

    return contador

    print(compruebamayus(cadena))
    repe=input("¿QUIERES REPETIR EL PROGRAMA? --------- > S/N ").upper()
    if repe=="N":
    repetidor=1

  31. Arguez dice:

    El ejercicio 5 me dio en su día muchisimos dolores de cabeza, muchos... la madre que lo pario xd.

    Mi propuesta es esta:

    repetidor=0

    while repetidor==0:

    intro=int(input("Introduzca un número binario aqui ---------- >"))

    def binadec(valor):

    valor=str(intro)
    inversor=len(valor)
    indice=0
    sumador=0

    for i in valor:
    inversor=inversor-1
    sumador=sumador+int(valor[inversor])*(2**indice)
    indice=indice+1

    return sumador

    print(binadec(intro))
    pregunta=input("Quieres repetir el ejercicio? S/N ------------> ").upper()

    if pregunta=="N":
    repetidor=1

  32. Arguez dice:

    El ejercicio 6 fué tal que así para mi:

    year=2018

    fulano=[str(input("Introduce aquí el nombre del primer alumno --------> ")), int(input("Introduce el año de nacimiento del primer alumno --------> "))]
    tizano=[str(input("Introduce aquí el nombre del segundo alumno --------> ")), int(input("Introduce el año de nacimiento del segundo alumno --------> "))]
    mengano=[str(input("Introduce aquí el nombre del tercer alumno --------> ")), int(input("Introduce el año de nacimiento del tercer alumno --------> "))]

    print(fulano[0], "tiene", year-fulano[1], "años.")
    print(tizano[0], "tiene", year-tizano[1], "años.")
    print(mengano[0], "tiene", year-mengano[1], "años.")

  33. Arguez dice:

    Las tuplas y yo por lo que sea siempre hemos tenido una relación dificil, aun así esta es mi propuesta de código para el ejercicio 7

    limites=20
    edades=(

    int(input("Introduce la primera edad aqui ------> ")),
    int(input("Introduce la segunda edad aqui ------> ")),
    int(input("Introduce la tercera edad aqui ------> ")),
    int(input("Introduce la cuarta edad aqui ------> ")),
    int(input("Introduce la quinta edad aqui ------> ")),
    int(input("Introduce la sexta edad aqui ------> ")),
    int(input("Introduce la septima edad aqui ------> ")),
    int(input("Introduce la octava edad aqui ------> ")),
    int(input("Introduce la novena edad aqui ------> ")),
    int(input("Introduce la décima edad aqui ------> "))
    )

    cantidad=0

    for i in edades:
    if i>limites:
    cantidad+=1

    print(cantidad)

  34. Arguez dice:

    Este es mi ejercicio 8:

    contador=0

    print("Este programa contará los nombres que empiecen por la letra que tú desees")

    nombres=int(input("¿Cuantos nombres vas a introducir? --------> "))

    lista=[]

    for i in range(0,nombres):
    nombre=input("Introduce un nombre aqui -------------> ")
    lista.append(nombre)

    letra=input("¿Que letra deseas? -------------> ")

    for x in lista:
    if (x[0])==letra.upper() or (x[0])==letra.lower():
    contador+=1

    print("De los nombres anteriormente citados", contador, "Comienzan por la letra elegida")

  35. Arguez dice:

    Pues nada, este sería mi ejercicio 9.

    palabra=input("Introduce una palabra y te cuento las vocales -------> ")

    def contar_vocales(valor):
    contador=0
    for i in valor:
    if i.upper()=="A" or i.upper()=="E" or i.upper()=="I" or i.upper()=="O" or i.upper()=="U":
    contador+=1

    return contador

    print(contar_vocales(palabra))

  36. Arguez dice:

    Y por último, pero no por ello menos importante, mi ejercicio 10:

    Solo agradecerte el tiempo dedicado a subir estos ejercicios. Un saludo.

    ano=1800

    compro1=ano%4
    compro2=ano%100
    compro3=ano%400

    def es_bisiesto(valor):

    if compro2==0 and compro1==0:
    if compro3==0:
    return ano, "Es un año bisiesto"
    elif compro3!=0 and compro1==0:
    return ano, "Es un año bisiesto"

    return ano, "No es un año bisiesto"

    bisiesto=es_bisiesto(ano)
    print(bisiesto)

  37. Joel dice:

    Ejercicio 1.

    def max_in_list(x):
    --mayor = x[0]
    --for i in x:
    ----if i > mayor:
    ------mayor = i
    --return mayor

    vector = [3,1,6,2,-4,9,5]
    print(max_in_list(vector))

    Ejercicio 2.

    def mas_larga(lista):
    --mayor = lista[0]
    --for i in lista:
    ----if len(i) > len(mayor):
    ------mayor = i
    --return mayor

    all = ["Hola","Foo foo","ID","zen"]
    print(mas_larga(all))

    Ejercicio 3.

    def filtrar_palabras(lista,x):
    --res = []
    --for i in lista:
    ----if len(i) > x:
    ------res.append(i)
    --return res

    all = ["Hola","Foo foo","ID","zen"]
    print(filtrar_palabras(all,6))

    Ejercicio 4.

    def conjunto_mayus(x,y):
    --res = []
    --for i in range(x,y):
    ----res.append(chr(i))
    --return res

    def contador_mayus(x):
    --cont = 0
    --for i in x:
    ----if i in conjunto_mayus(65,91):
    ------cont += 1
    --return cont

    print(contador_mayus("EsTO eS uNA pRueBA"))

    Ejercicio 5.

    def to_binary(x):
    --if x > 1:
    ----to_binary(x // 2)
    ----print(x % 2,end = '')
    --elif x == 1:
    ----print(x % 2,end = '')

    to_binary(4)

    Ejercicio 6.

    ANYO, name, edad, LIM = 2018, [], [], 3

    for i in range(LIM):
    --name.append(input()); nac = int(input());
    --edad.append(ANYO - nac)

    for i in range(LIM):
    --print('%s: %d' %(name[i],edad[i]))

    Ejercicio 7.

    edad, edad_veinte = [], []
    for i in range(10):
    --edad.append(int(input()))
    --if edad[i] > 20:
    ----edad_veinte.append(edad[i])

    print(edad_veinte)

    Ejercicio 8.

    nombres = ('Kike','Anabel','Mario','Carl', 'Erika','Etto','Abel','Armando','Sara')

    def buscar_letra(l):
    --auxiliar = []
    --for i in range(len(nombres)):
    ----if nombres[i][0] == l:
    ------auxiliar.append(nombres[i])
    --return auxiliar

    print(buscar_letra('A'))

    Ejercicio 9.

    vocales = ('a','e','i','o','u')
    contador = [0, 0, 0, 0, 0]

    def contar_vocales(palabra):
    --for i in palabra:
    ----if i in vocales:
    ------for l in range(len(contador)):
    --------if i == vocales[l]:
    ----------contador[l] += 1
    ----------break

    contar_vocales(input('Palabra: n'))

    for i in range(len(contador)):
    --print('%s: %d' %(vocales[i],contador[i]))

    Ejercicio 10.

    def es_bisiesto(anyo):
    --if anyo // 100 % 4 == 0:
    ----return True
    --return False

    print(es_bisiesto(int(input('Anyo: '))))

  38. Anónimo dice:

    Cual es a solución al ejercicio 2, no consigo resolverlo

  39. Anónimo dice:

    esta es la solución mas corta que he podido hacer del ejercicio 1:
    def max_in_list(L):
    Lord = sorted(L)
    imax = len(Lord)-1
    return Lord[imax]

    L = [4,1,8,6]
    print (max_in_list(L))

    1. Unknown dice:

      Este comentario ha sido eliminado por el autor.

    2. Alonso dice:

      Quizas es la solución mas corta pero no la más eficiente. El ordenar la lista tiene complejidad nlog(n), en cambio si ignoras este paso y buscas el máximo evaluando cada elemento de la lista logras una complejidad de n.
      Saludos

  40. EDWIN CARDONA dice:

    Hola. Yo reutilicé la función de la parte 1, para hallar el máximo entre dos números:

    def max_in_list(lista):
    mayor = 0
    for num in lista:
    mayor = maximo(mayor, num)

    return mayor

    Y esa primera decía así:

    def maximo(a,b):
    return a if a>b else b

  41. pagina dice:

    Desarrollar un prototipo de software inteligente sobre La salud, por ejemplo, diagnosticar la enfermedad, conociendo los síntomas en el programa python. Quien me hace el favor de ayudarm con este ejercio

  42. Miguel Hayas dice:

    """
    Web -> Mi diario Python -> Ejercicio 1 (Parte 2):
    Escribir una función max_in_list() que tome una lista de números y devuelva el mas grande.
    """
    from random import randrange
    def max_in_list(lista):
    ----maximo = 0
    ----for n in lista:
    --------if n > maximo:
    ------------maximo = n
    ----return maximo

    lis = []
    for x in range(10): #Genera lista aleatoria de 10 números.
    ----lis.append(randrange(1, 100))
    print("nLista Aleatoria Generada: ", lis)
    print("n-----> El Número mayor es: " + str(max_in_list(lis)))

  43. Miguel Hayas dice:

    """
    Web -> Mi diario Python -> Ejercicio 3 (Parte 2):
    Escribir una función filtrar_palabras() que tome una lista de palabras y un entero n, y devuelva las palabras que tengan mas de n caracteres.
    """
    def filtrar_palabras(lista, n):
    ----lisMayorN = []
    ----for palabra in lista:
    --------if len(palabra) > n:
    ------------lisMayorN.append(palabra)
    ----return lisMayorN

    texto = '''Como dije en la primera entrada, los ejercicios
    tienen muchas formas de resolverse. Para los mas experimentados
    quiza les lleve unas pocas lineas de codigo, para otros que
    recién empiezan quizá les lleve un poco mas de código.'''
    n = 6 #Valor de 'n'.
    texto2 = "" #Almacenará solo letras y espacios.
    for car in texto:
    ----if car.isalpha() or car == " " or car =="n":
    --------texto2 += car
    lisPalabras = texto2.split() #Lista de palabras.
    print("nPalabras tiene la Lista Original:")
    print(lisPalabras)
    print("nLista de Palabras con más de", n, "caracteres:")
    print(filtrar_palabras(lisPalabras, n))

  44. Miguel Hayas dice:

    """
    Web -> Mi diario Python -> Ejercicio 10 (Parte 2):
    Escriba una función es_bisiesto() que determine si un año determinado es un año bisiesto.
    Un año bisiesto es divisible por 4, pero no por 100. También es divisible por 400.
    """
    def es_bisiesto(anio):
    ----if anio == 0:
    --------anio = 1
    ----elif anio < 0:
    --------anio = abs(anio)
    ----bisiesto = False
    ----if anio%400 == 0:
    --------bisiesto = True
    ----elif anio%4 == 0 and anio%100 != 0:
    --------bisiesto = True
    ----else:
    --------bisiesto = False
    ----return bisiesto

    sAnio = input("nQue año quieres comprobar si es bisiestro? Teclea el año: ")
    if es_bisiesto(int(sAnio)):
    ----print("n----> El año " + sAnio + " es un año Bisiesto.")
    else:
    ----print("n----> El año " + sAnio + " NO es un año Bisiesto.")

  45. Alejo Lopez dice:

    Ejercicio 8:

    def busqueda():
    x=int(input("¿Cuantos nombres vas a ingresar a la lista?: "))
    lista=[]
    for i in range(x):
    nombre=input("Ingresa un nombre para agregar a la lista: ")
    lista.append(nombre)
    print()
    print("Los nombres han sido agregados a la lista exitosamente.")
    print()
    letra=input("Ingresa una inicial a buscar: ")
    contador=0
    for n in lista:
    if n[0]==letra.lower() or n[0]==letra.upper():
    contador+=1
    print("En la lista de nombres hay", contador, "que comienzan con la letra", letra)

    busqueda()

  46. gera2525 dice:

    hola soy nuevo en la programacion
    esta es mi solucion al primer ejercicio
    def maximo(lista):
    num1 =0
    num2 =0
    for i in lista:
    num1 = i
    if num1 >= num2:
    num2 = num1
    elif num1 < num2:
    num2 = num2
    return num2

    lis = 4,5,2,8,1
    print (maximo(lis))

  47. Maximino dice:

    Ejercicio 3 def filtrarPalabras(Lista, n ):
    for word in Lista:
    lista_final=[word for word in Lista if len(word) >= n ]
    print(lista_final)

    lista=["perro","ho","caballo", "cangrejo","pajaro","gallina"]
    filtrarPalabras(lista, 8)

    1. Matias Carballo dice:

      mirá maximo modifiqué solo un poco tu código
      def filtrarPalabras(Lista, n ):
      for word in Lista:
      lista_final=[word for word in Lista if len(word) > n ] #le saqué el = porque se supone que solo tiene que ser mayor
      print(word)

      lista=["perro","ho","caballo", "cangrejo","pajaro","gallina"]
      n = 7 # cree la variable n porque no sirve si no la creas
      filtrarPalabras(lista, n)

      la verdad que si funciona pero lo malo de tu código es que te repite la palabra que cumple con el requisito 6 veces #(la cantidad de palabras que tenes en tu lista y no encuentro como cambiar eso

  48. Anónimo dice:

    ´´´def mayuscula(word):
    mayus=word.upper()
    cont=0
    for i in range(len(word)):
    if word[i] == mayus[i]:
    cont += 1
    print('MAYUSCULAS: {}'.format(cont))

    def run():
    word=str(raw_input('Ingrese una palabra: '))
    mayuscula(word)

    if __name__ == '__main__':
    run()
    ´´´

  49. Unknown dice:

    ```
    def mayuscula(word):
    mayus=word.upper()
    cont=0
    for i in range(len(word)):
    if word[i] == mayus[i]:
    cont += 1
    print('MAYUSCULAS: {}'.format(cont))

    def run():
    word=str(raw_input('Ingrese una palabra: '))
    mayuscula(word)

    if __name__ == '__main__':
    run()
    ```

  50. theia dice:

    #Escribir una función max_in_list() que tome una lista de números y devuelva el mas grande.
    def max_in_list(sample):

    mayor = sample[0] #se toma un numero como referencia para empezar ,
    for i in range (len(sample)):
    if sample[i] > mayor:
    mayor=sample[i]
    print(mayor)

    max_in_list([8,2,7,12])

  51. Anónimo dice:

    Asi es como resolvi el 2do ejercicio, me pareció super interesante

    def masLarga(laLista):
    longest = laLista[0]
    for x in laLista:
    if len(x) > len(longest):
    longest = x
    else:
    longest=longest
    print(longest)

  52. Tomás dice:

    Solo quería agradecer el esfuerzo invertido. Gracias

  53. lara123salala@gmail.com dice:

    necisto hacer un prp¿ograma que ingrese un texto , al final debera imprimir cuantas tiene el texto en total, y cuantas individuales, es decias (cuantas A,E y asi) me ayudan:')

  54. bruno dice:

    x = "poTasio"

    for i in x:
    number = 0
    y = (i[number])
    if y != y.lower():
    print(f"{y}, es mayuscula")
    elif y != y.upper():
    print(y)

  55. Nicolas Restrepo dice:

    def max_in_list(lista):
    for i in range(len(lista)-1):
    if lista[i]>lista[i+1]:
    a=lista[i]
    lista[i]=lista[i+1]
    lista[i+1]=a
    return lista[len(lista)-1]

    Asi lo resolví y funciona bastante bien, puede haber formas mas ligeras pero esa se entiende bastante bien.

  56. Pau dice:

    Aquí va mi código del ejercicio 2

    lista = []

    palabra = ' '
    decide = 'c'

    while decide == 'c':
    palabra= input('Ingrese una palabra cualquiera: ')
    lista.append(palabra)
    decide = input('"c" para continuar, "s" para salir: ')

    def mas_larga(lista):
    longi=0
    for i in lista:
    if len(i)>longi:
    longi = len(i)
    return i

    print('Su lista es: ', lista)
    print('La palabra más larga de su lista es: ',maslarga(lista))

  57. Mojik dice:

    ejercicio 9:

    def vocal():
    print(palabra.count('a'))
    print (palabra.count('e'))
    palabra = input()
    vocal()

  58. junior lazaro dice:

    def mas_larga(lista):
    agregar = int(input("Cuantas String vas agregar en la lista? "))
    for i in range(agregar):
    elementos = input("Indice" +str(i)+ ": ")
    lista.insert(i,elementos)
    print(lista)
    palabra=""
    for i in lista:
    if len(i) > len(palabra):
    palabra = i
    print("La palabra con mayor longitud es:", palabra)

  59. Juany dice:

    Esto estaria bien?

    def max_in_list(*nums_list):
    result = [*nums_list]
    result.sort()
    return result[-1]

    print(max_in_list(1,2,3, 534,4,5,6,7))

  60. ronald llamas dice:

    mi aporte al primer ejercicio
    def max_in_list():
    continuar = True

    lista = []

    while continuar:
    numero = input("Ingrese un numero: ")

    lista.append(numero)

    continuar = input("desea ingrresar otro numero: ").lower() == "si"
    print(max(lista))

    max_in_list()

Deja una respuesta

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

Subir
White Monkey