Qué es python: 5 ejercicios para mejorar tus skills

Qué es python: 5 ejercicios para mejorar tus skills


Python Skills Programación Python

La programación es un ámbito que requiere práctica y dedicación, ya seas un principiante o un experto en un lenguaje específico. Incluso antes de intentar proyectos más complejos, debe estar familiarizado con las estructuras y los tipos de datos de un lenguaje de programación determinado.

Si queremos aprender a programar en Python, practicar siempre es una buena opción, dado que la sintaxis del lenguaje Python difiere de la de otros lenguajes de programación orientados a objetos. Programar con Python significa dominar uno de los lenguajes de programación más usados de los últimos años, gracias también a lo que se puede hacer con Python: desarrollo web, automatización de tareas, análisis de datos, visualización de datos, algoritmos de inteligencia artificial, aprendizaje automático, desarrollo de juegos y la lista continúa.

Estas son las razones por las que hoy programar en Python es un requisito muy solicitado por las software house. Pero para aprender Python necesitas practicar los fundamentos del lenguaje.

Para ello, veremos una serie de 5 ejercicios de Python, de dificultad gradual, para poner a prueba tu capacidad de comprensión del código y las construcciones del lenguaje.

Al final del artículo encontrarás las soluciones… ¡pero no mires aún!

  1. Escribe un programa Python para extraer valores de un diccionario conocido y crea una lista de listas a partir de estos valores.
  2. Escribe un programa Python para encontrar cuatro números enteros pares positivos cuya suma sea un entero dado. Ejemplo - input: n = 100 output: [94,2,2,2]
  3. Escribe una función Python para eliminar duplicados de una lista conservando el orden de los elementos en ella.
  4. Escribe una clase Python para implementar la función elevation_power(x,n) (formalmente pow(x,n)).
  5. Escribe una función en Python que coja dos cadenas, cuenta la cantidad de veces que cada cadena contiene los mismos tres caracteres en el mismo índice. Imprime el output.

Al realizar estos 5 ejercicios, podrás dominar no solo tipos de datos potentes, sino también el bucle for en Python o las definiciones de tipos de objetos, como las clases, una característica clave de la programación orientada a objetos. ¡Intenta hacer estos ejercicios cortos de forma independiente para probar tus conocimientos en Python!

Soluciones:

  1. Ser competente con el lenguaje Python significa dominar listas y diccionarios, dos poderosos tipos de datos. En este ejercicio, es fundamental centrarse en el concepto clave-valor inherente al diccionario de Python.
def test(dictt,keys):
    return [list(d[k] for k in keys) for d in dictt] 

students = [
        {'student_id': 1, 'name': 'Jean Castro', 'class': 'V'}, 

        {'student_id': 2, 'name': 'Lula Powell', 'class': 'V'},

        {'student_id': 3, 'name': 'Brian Howell', 'class': 'VI'}, 

        {'student_id': 4, 'name': 'Lynne Foster', 'class': 'VI'}, 

        {'student_id': 5, 'name': 'Zachary Simon', 'class': 'VII'}
]

print("\nOriginal Dictionary:")

print(students)

print("\nExtract values from the said dictionarie and create a list of lists using those values:")

print("\n",test(students,('student_id', 'name', 'class')))

print("\n",test(students,('student_id', 'name')))

print("\n",test(students,('name', 'class')))
  1. El bucle for en Python difiere de los de otros lenguajes de programación. Gracias a este ejercicio puedes corregir este concepto de forma clara, implementando bucles for anidados para obtener el output deseado. La función find_positives toma un número entero como input y, a través de una serie de for, identifica los 4 enteros positivos realizando un cálculo con el operador %, llamado operador de módulo. Se utiliza para obtener el resto de una división.

def find_positives(n):

    for i in range(n, 0, -1):

        if not i % 2 == 0:

            continue

        for k in range(n - i, 0, -1):

            if not k % 2 == 0:

                continue

            for j in range(n - k - i, 0, -1):

                if not j % 2 == 0:

                    continue

                for d in range(n - k - j - i, 0, -1):

                    if not d % 2 == 0:

                        continue

                    if i + k + j + d == n:

                        return [i, k, j, d]
 

n = 100

print("Four positive even integers whose sum is",n)

print(find_positives(n))

n = 1000

print("\nFour positive even integers whose sum is",n)

print(find_positives(n))

n = 10000

print("\nFour positive even integers whose sum is",n)

print(find_positives(n))

n = 5000

print("\nFour positive even integers whose sum is",n)

print(find_positives(n))
  1. Las listas son una herramienta muy poderosa, en este ejercicio será esencial usar los métodos de lista de Python, que el lenguaje pone a disposición para modelar sus elementos. El método dict.fromkeys devuelve un diccionario con las claves y valores especificados como argumentos, en este caso la lista pasada como argumento a la función remove_duplicates.

def remove_duplicates(lst):
    return list(dict.fromkeys(lst).keys())

 

nums = [2,4,3,5,4,6,9,2,1]

print("Original lists:")

print(nums)

result = remove_duplicates(nums)

print("Remove duplicates from the said list while preserving the order:")

print(result)

chars = ['b','a', 'a', 'c', 'c', 'c','d','e','a', 'b', 'b', 'b']

print("\nOriginal lists:")

print(chars)

result = remove_duplicates(chars)

print("Remove duplicates from the said list while preserving the order:")

print(result)
  1. Las clases representan una característica de identificación de los paradigmas de objetos. Aunque Python se diferencia mucho de otros lenguajes hasta la fecha, hereda sus particularidades. En este código Python veremos el uso de una clase para definir una función dentro de ella. Ten en cuenta que para llamar a la función pow, la clase debe instanciarse en el print.

class py_squared:

   def pow(self, x, n):

        if x==0 or x==1 or n==1:

            return x 

        if x==-1:

            if n%2 ==0:

                return 1

            else:

                return -1

        if n==0:

            return 1

        if n<0:

            return 1/self.pow(x,-n)

        val = self.pow(x,n//2)

        if n%2 ==0:

            return val*val

        return val*val*x

 
print(py_ squared ().pow(2, -3));

print(py_ squared ().pow(3, 5));

print(py_ squared ().pow(100, 0));
  1. El modelado de cadenas es una práctica muy útil en programación. En este breve script, aprovecharemos el for in range de Python para iterar sobre una cantidad específica de tal manera que podamos verificar, a través del índice for, si las tres letras se repiten dentro de las dos cadenas pasadas como input a la función.

def compare_chars(str1, str2):

          count = 0

          for i in range(len(str1) - 2):

                      if str1[i:i+3] == str2[i:i+3]:

                                  count += 1

          return count

str1 ="Formula One"

str2 ="For Each Python"

print("Original strings:", str1, str2)

print("Check said two strings contain three letters at the same index:")

print(compare_chars(str1, str2))

str1 ="Red White"

str2 ="Red White"

print("Original strings:", str1, str2)

print("Check said two strings contain three letters at the same index:")

print(compare_chars(str1, str2))

str1 ="Red White"

str2 ="White Red"

print("Original strings:", str1, str2)

print("Check said two strings contain three letters at the same index:")

print(compare_chars(str1, str2))  

Los ejercicios de coding son un aspecto crucial en el aprendizaje de un lenguaje de programación. Es importante practicar, ya que es muy útil poder ver con tus propios ojos el funcionamiento de ciertas funciones integradas o construcciones que conceptualmente son muy abstractas.

Para aprender Python necesitas tener paciencia para practicar, pero también para cometer errores.

¿Has logrado completar todos los ejercicios?

Curso de programación Aulab Hackademy

Conviértete en Desarrollador weben 6 meses

Descubre el bootcamp de programación Hackademy

Programa Completo

© 2022 Aulab. Todos los derechos reservados • P.IVA: IT07647440721 • Política de privacidad