From 2a56a2b500d5ae42f064325d72997e2b7e6b008e Mon Sep 17 00:00:00 2001 From: codeskin-r Date: Thu, 23 Jan 2025 21:24:22 -0300 Subject: [PATCH 1/4] #00 - Python --- .../python/codeskin-r.py | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py diff --git a/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py b/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py new file mode 100644 index 0000000000..1f96f036f5 --- /dev/null +++ b/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py @@ -0,0 +1,77 @@ +# https://www.python.org/ # comentario de una linea + +""" +comentario de varias lineas +en este caso podria ser util +para realizar aclaraciones que +necesiten de una mayor cantidad +de texto + +"""" + +# Variables + +x = 10 #entero +y = 3.14 #flotante +z = 2 + 3j # Número complejo + +# variables de texto + +nombre = "Carlitos" +mensaje = 'Hola, universo 🌍️! +frase_multilinea = """Hola Moure, te agradezco +mucho por lo que haces por nosotros, parece +simple, pero esto es demasiado!""" + +# Constantes + +""" +Python no tiene constantes verdaderas como otros lenguajes (por ejemplo, const en JavaScript o final en Java). +Pero, por convención, las constantes se escriben en mayúsculas para indicar que no deberían modificarse. + +""" + +PI = 3.1416 +GRAVEDAD = 9.81 + +print(PI) # 3.1416 +print(GRAVEDAD) # 9.81 + + +# variables que representan datos primitivos del lenguaje Python + +# Entero (int) +numero_entero = 42 + +# Flotante (float) +numero_decimal = 3.14 + +# Número complejo (complex) +numero_complejo = 6 + 1h + +# Booleano (bool) +es_verdadero = True +es_falso = False + +# Cadena de texto (str) +mensaje = "Hola, como estas Moure?" + +# Bytes (bytes) +dato_bytes = b"Hola" + +# Bytearray (bytearray) +dato_bytearray = bytearray(5) # Crea un array de 5 bytes vacíos + +# NoneType (None) +sin_valor = None + +print("Hola, Python 🦎") +print(type(numero_decimal)) +print(type(numero_complejo)) +print(type(es_verdadero)) +print(type(mensaje)) + + + + +# Fin. From 5c0788645947d4bf244550f327ef62a19530ba3b Mon Sep 17 00:00:00 2001 From: codeskin-r Date: Fri, 24 Jan 2025 19:39:24 -0300 Subject: [PATCH 2/4] #00 - Python (correcion de algunos errores de sintaxis) --- .../python/codeskin-r.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py b/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py index 1f96f036f5..a5a52ea131 100644 --- a/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py +++ b/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/codeskin-r.py @@ -1,13 +1,13 @@ -# https://www.python.org/ # comentario de una linea +# https://www.python.org/ # comentario de una linea """ comentario de varias lineas -en este caso podria ser util +en este caso podria ser util para realizar aclaraciones que -necesiten de una mayor cantidad +necesiten de una mayor cantidad de texto -"""" +""" # Variables @@ -18,9 +18,9 @@ # variables de texto nombre = "Carlitos" -mensaje = 'Hola, universo 🌍️! +mensaje = "Hola, universo 🌍️!" frase_multilinea = """Hola Moure, te agradezco -mucho por lo que haces por nosotros, parece +mucho por lo que haces por nosotros, parece simple, pero esto es demasiado!""" # Constantes @@ -47,7 +47,7 @@ numero_decimal = 3.14 # Número complejo (complex) -numero_complejo = 6 + 1h +numero_complejo = 6 + 1 # Booleano (bool) es_verdadero = True From 10392d77411f147f146c41954223613a35722ebe Mon Sep 17 00:00:00 2001 From: codeskin-r Date: Sat, 25 Jan 2025 00:42:10 -0300 Subject: [PATCH 3/4] #01 - python --- .../python/codeskin-r.py | 233 ++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py diff --git a/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py b/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py new file mode 100644 index 0000000000..b6f5c5af8e --- /dev/null +++ b/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py @@ -0,0 +1,233 @@ +# Operadores aritmeticos + +a = 5 +b = 3 + +suma = a + b # 10 + 5 = 15 +resta = a - b # 10 - 4 = 6 +multiplicacion = a * b # 10 * 3 = 30 +division = a / b # 4 / 2 = 2 +division_entera = a // b # 10 / 3 = 3 (redondeado hacia abajo) +modulo = a % b # 10 % 3 = 1 (resto de la division) +potencia = a ** b # 10^3 = 1000 + +print(suma, resta, multiplicacion, division, division_entera, modulo, potencia) + + +# Operadores de asignacion + +x = 5 # Asignación normal + +x += 3 # Equivale a: x = x + 3 → x = 8 +x -= 2 # x = x - 2 → x = 6 +x *= 4 # x = x * 4 → x = 24 +x /= 3 # x = x / 3 → x = 8.0 +x //= 2 # x = x // 2 → x = 4.0 +x %= 3 # x = x % 3 → x = 1.0 +x **= 2 # x = x ** 2 → x = 1.0 + +print(x) + +# Operadores de comparacion + +a = 10 +b = 5 + +print(a == b) # False (10 no es igual a 5) +print(a != b) # True (10 es diferente de 5) +print(a > b) # True (10 es mayor que 5) +print(a < b) # False (10 no es menor que 5) +print(a >= 10) # True (10 es mayor o igual a 10) +print(a <= 5) # False (10 no es menor o igual a 5) + + +# Operadores logicos + +x = True +y = False + +print(x and y) # False (Ambos deben ser True) +print(x or y) # True (Basta con que uno sea True) +print(not x) # False (Invierte el valor de x) + + +# Operadores de identidad + +a = [1, 2, 3] +b = a +c = [1, 2, 3] + +print(a is b) # True (b apunta al mismo objeto que a) +print(a is not c) # True (c es una lista nueva, aunque tenga los mismos valores) + + +# Operadores de pertenencia + +frutas = ["manzana", "banana", "cereza"] + +print("manzana" in frutas) # True (manzana está en la lista) +print("pera" not in frutas) # True (pera NO está en la lista) + + +# Operadores Bit a Bit + +a = 5 # En binario: 0101 +b = 3 # En binario: 0011 + +print(a & b) # AND → 0101 & 0011 = 0001 → 1 +print(a | b) # OR → 0101 | 0011 = 0111 → 7 +print(a ^ b) # XOR → 0101 ^ 0011 = 0110 → 6 +print(~a) # NOT → ~0101 = -6 (por cómo maneja Python los bits) +print(a << 1) # Desplazar bits a la izquierda (multiplica por 2) → 1010 → 10 +print(a >> 1) # Desplazar bits a la derecha (divide por 2) → 0010 → 2 + + + + + +# Ejemplos de estructuras de control + + +# Condicionales (if, elif, else) +# Bucles (for, while) +# Control de flujo en bucles (break, continue, pass) + + +# Condicionales + +# se usan para ejecutar codigo solo si se cumplen ciertas condiciones + +edad = 20 + +if edad >= 18: # Comparación con >= + print("Eres mayor de edad.") +elif edad == 17: # Comparación con == + print("Casi eres mayor de edad.") +else: + print("Eres menor de edad.") + + +# Ejemplo con operadores logicos + +usuario = "admin" +clave = "5432" + +if usuario == "admin" and clave == "5432": # AND lógico + print("Acceso permitido") +else: + print("Acceso denegado") + + +# Ejemplo con operadores de identidad y pertenencia + +lista = [1, 2, 3, 4] +x = 3 + +if x in lista: # Pertenencia + print("El número está en la lista.") + +if type(x) is int: # Identidad + print("x es un entero.") + + + +# Bucle (for) + +# Se usa para recorrer secuencias (listas, tuplas, cadenas, etc.) + +# Usando un bucle for con operadores aritméticos +for i in range(1, 6): # Genera números del 1 al 5 + print(f"El cuadrado de {i} es {i**2}") # Operador de potencia + + +# Ejemplo con listas y operadores de asignación + +numeros = [1, 2, 3, 4, 5] +suma = 0 + +for num in numeros: + suma += num # Operador de asignación (+=) + +print("La suma total es:", suma) + + +# Ejemplo con cadenas y pertenencia + +palabra = "Python" + +for letra in palabra: + if letra in "aeiou": # Verifica si es una vocal + print(f"{letra} es una vocal") + + +# Bucle (while) + +x = 10 + +while x > 0: # Condición con operador de comparación + print(f"x vale {x}") + x -= 2 # Resta usando operador de asignación (-=) + +# Ejemplo con operadores logicos + +numero = 1 + +while numero < 10 and numero % 2 != 0: # AND lógico y operador módulo + print(f"{numero} es impar") + numero += 2 + + + +# Control de flujo en bucles (break, continue, pass) + + +# Estos comandos permiten modificar el comportamiento de los bucles + +# break (sale del bucle) + +for num in range(10): + if num == 5: + print("Se encontró el 5, saliendo del bucle.") + break # Detiene la ejecución + print(num) + +# continue (salta a la siguiente iteracion) + +for num in range(1, 6): + if num == 3: + continue # Salta la iteración cuando num es 3 + print(num) + +# pass (se usa como marcador de posicion) + +for num in range(3): + pass # No hace nada, evita errores de sintaxis + +if True: + pass # Se usa cuando aún no hemos definido la lógica + + +""" +DIFICULTAD EXTRA: +Crea un programa que imprima por consola todos los números comprendidos +entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3. +""" + +# Bucle que recorre los números del 10 al 55 (incluidos) + +for numero in range(10, 56): # range(10, 56) genera números del 10 al 55 + + if numero % 2 != 0: # Si el número NO es par, lo saltamos + continue # Salta a la siguiente iteración + + if numero == 16: # Si el número es 16, lo saltamos + continue + + if numero % 3 == 0: # Si el número es múltiplo de 3, lo saltamos + continue + + print(numero) # Si pasa todos los filtros, lo imprimimos + + + + From 1c1a1081822afbc803abf1c196b68c16c1008760 Mon Sep 17 00:00:00 2001 From: codeskin-r Date: Sat, 25 Jan 2025 07:44:07 -0300 Subject: [PATCH 4/4] #01 - python (reduje el ejercicio extra) --- .../python/codeskin-r.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py b/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py index b6f5c5af8e..9b6854851e 100644 --- a/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py +++ b/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/codeskin-r.py @@ -215,19 +215,22 @@ # Bucle que recorre los números del 10 al 55 (incluidos) -for numero in range(10, 56): # range(10, 56) genera números del 10 al 55 +#for numero in range(10, 56): # range(10, 56) genera números del 10 al 55 - if numero % 2 != 0: # Si el número NO es par, lo saltamos - continue # Salta a la siguiente iteración +# if numero % 2 != 0: # Si el número NO es par, lo saltamos +# continue # Salta a la siguiente iteración - if numero == 16: # Si el número es 16, lo saltamos - continue +# if numero == 16: # Si el número es 16, lo saltamos +# continue - if numero % 3 == 0: # Si el número es múltiplo de 3, lo saltamos - continue +# if numero % 3 == 0: # Si el número es múltiplo de 3, lo saltamos +# continue - print(numero) # Si pasa todos los filtros, lo imprimimos +# print(numero) # Si pasa todos los filtros, lo imprimimos +for n in range(10, 56, 2): # Solo números pares del 10 al 55 + if n != 16 and n % 3: + print(n)