diff --git a/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/carlosotoia-coder.py b/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/carlosotoia-coder.py new file mode 100644 index 0000000000..0b965e65ba --- /dev/null +++ b/Roadmap/00 - SINTAXIS, VARIABLES, TIPOS DE DATOS Y HOLA MUNDO/python/carlosotoia-coder.py @@ -0,0 +1,30 @@ +# https://www.python.org/ + +# comentario en una linea + +""" +esto tambien es +un comentario +en varias lineas +""" +''' +esto tambien son +comentarios en +varias lineas +''' + +my_variable = "Mi variable" +my_variable = "Nuevo valor de mi variable" + +MY_CONSTANTE = "si esta en mayuscula quiere decir que no se puede cambiar" # por converción + +# tipos de datos primitivos + +my_int = 1 +my_float = 1.5 +my_bool = True +my_bool = False +my_string = "Cadena de texto" +my_other_string = 'Otra cadena de texto' + +print("Hola Python") \ No newline at end of file diff --git a/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/carlosotoia-coder.py b/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/carlosotoia-coder.py new file mode 100644 index 0000000000..96f37ad299 --- /dev/null +++ b/Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/python/carlosotoia-coder.py @@ -0,0 +1,99 @@ +""" +Operadores +""" +# Operadores aritméticos +print(f"Suma: {5 + 3}") # Suma +print(f"Resta: {5 - 3}") # Resta +print(f"Multiplicación: {5 * 3}") # Multiplicación +print(f"División: {5 / 3}") # División +print(f"División entera: {5 // 3}") # División entera +print(f"Residuo: {5 % 3}") # Residuo +print(f"Potencia: {5 ** 3}") # Potencia + +#Operadores de comparación +print(f"Es igual: {5 == 3}") # Es igual +print(f"Es diferente: {5 != 3}") # Es diferente +print(f"Es mayor: {5 > 3}") # Es mayor +print(f"Es menor: {5 < 3}") # Es menor +print(f"Es mayor o igual: {5 >= 3}") # Es mayor o igual +print(f"Es menor o igual: {5 <= 3}") # Es menor o igual + +#Operadores lógicos +print(f"Y lógico: {True and False}") # Y lógico +print(f"O lógico: {True or False}") # O lógico +print(f"No lógico: {not True}") # No lógico + +#operadores de asignación +x = 5 +print(f"x = {x}") # Asignación +x += 2 +print(f"x += 2: {x}") # Asignación con suma +x -= 2 +print(f"x -= 2: {x}") # Asignación con resta +x *= 2 +print(f"x *= 2: {x}") # Asignación con multiplicación +x /= 2 +print(f"x /= 2: {x}") # Asignación con división +x //= 2 +print(f"x //= 2: {x}") # Asignación con división entera +x %= 2 +print(f"x %= 2: {x}") # Asignación con residuo +x **= 2 +print(f"x **= 2: {x}") # Asignación con potencia + +#Operadores de identidad +a = [1, 2, 3] +b = a +print(f"a is b: {a is b}") # Identidad +c = [1, 2, 3] +print(f"a is c: {a is c}") # No identidad + + +#operadores de pertenencia +lista = [1, 2, 3, 4, 5] +print(f"3 in lista: {3 in lista}") # Pertenencia +print(f"6 not in lista: {6 not in lista}") # No pertenencia + +#operadores bit a bit +x = 5 # 0101 en binario +y = 3 # 0011 en binario +print(f"x & y: {x & y}") # AND bit a bit +print(f"x | y: {x | y}") # OR bit a bit +print(f"x ^ y: {x ^ y}") # XOR bit a bit + +""" +Estructuras de control +""" +# Condicionales +edad = 18 +if edad >= 18: + print("Eres mayor de edad") +else: + print("No eres mayor de edad") + +# Iteraciones + +for i in range(5): + print(f"Iteración: {i}") + +# Bucle while + +contador = 0 +while contador < 5: + print(f"Contador: {contador}") + contador += 1 + +#manejo de excepciones +try: + numero = int(input("Ingresa un número: ")) + print(f"El número ingresado es: {numero}") +except ValueError: + print("Por favor, ingresa un número válido.") + + +# extra + +for i in range(10, 56): + if i % 2 == 0 and i != 16 and i % 3 != 0: + print(f"{i}") + diff --git a/Roadmap/02 - FUNCIONES Y ALCANCE/python/carlosotoia-coder.py b/Roadmap/02 - FUNCIONES Y ALCANCE/python/carlosotoia-coder.py new file mode 100644 index 0000000000..22ca831d5d --- /dev/null +++ b/Roadmap/02 - FUNCIONES Y ALCANCE/python/carlosotoia-coder.py @@ -0,0 +1,174 @@ +# Funciones (bloque de codigo para reutilizarlo + +""" +Funciones definidas por el usuario +""" +#simple + +def saludo(): + print("Hola, bienvenido a la funcion saludo") + +saludo() + +#Con retorno + +def devolver_saludo(): + return "Hola, bienvenido a la funcion devolver_saludo" + +print(devolver_saludo()) + +#Con argumento + +def saludo_personalizado(nombre): + return f"Hola {nombre}, bienvenido a la funcion saludo_personalizado" + +print(saludo_personalizado("Carlos")) + + +#Con varios argumentos + +def saludos_personalizados(nombre,apellido): + return f"Hola {nombre} {apellido}, bienvenido a la funcion saludos_personalizados" + +print(saludos_personalizados("Carlos", "Sotoia")) + + +#Con argunmentos predeterminados + +def saludo_arg_predeterminado(nombre="Python",apellido="IA"): + return f"Hola {nombre} {apellido}, bienvenido a la funcion saludo_arg_predeterminado" + +print(saludo_arg_predeterminado()) + +# Con argumentos y retorno + +def saludo_arg_retorno(nombre,apellido): + return f"Hola {nombre} {apellido}, bienvenido a la funcion saludo_arg_retorno" + +print(saludo_arg_retorno("Sotoia", "Carlos")) + + +#Con retorno de varios valores + +def multiples_retorno(): + return "Hola" , "Python" + +saludo, nombre =multiples_retorno() + +print(saludo) +print(nombre) + + +# Con un numero variable de argumentos + +def varios_argumentos_nombre(*nombres): + for nombre in nombres: + print(f"Hola {nombre}, bienvenido a la funcion varios_argumentos_nombre") + +varios_argumentos_nombre("Carlos", "Sotoia", "Python", "IA") + + +# Con un numero variable de argumentos con clave + +def varios_argumentos_clave(**kwargs): + for clave, valor in kwargs.items(): + print(f"{clave}: {valor}") + +varios_argumentos_clave(nombre="Carlos", apellido="Sotoia", lenguaje="Python", especialidad="IA") + + + +""" +Funciones dentro de funciones +""" + +def funcion_externa(): + def funcion_interna(): + print("Esta es la funcion interna") + funcion_interna() + +funcion_externa() + + +""" +Funciones del lenguaje(built-in) +""" + +print(len("Hola, bienvenido a la funcion len()")) # Devuelve la longitud de un objeto cuenta el número de elementos que contiene +print(type(123)) # Devuelve el tipo de dato de un objeto +print(max(1, 2, 3, 4, 5)) # Devuelve el valor máximo de una secuencia +print(min(1, 2, 3, 4, 5)) # Devuelve el valor mínimo de una secuencia +print(sum([1, 2, 3, 4, 5])) # Devuelve la suma de los elementos de una secuencia +print(sorted([5, 2, 3, 1, 4])) # Devuelve una lista ordenada de los elementos de una secuencia +print(abs(-10)) # Devuelve el valor absoluto de un número +print(round(3.14159, 2)) # Devuelve un número redondeado a un número específico de decimales +print(isinstance(123, int)) # Devuelve True si el objeto es una instancia de la clase especificada +print(dir([])) # Devuelve una lista de los atributos y métodos de un objeto +print(help(len)) # Muestra la documentación de la función len() +print(eval("2 + 2")) # Evalúa una expresión y devuelve el resultado +print(all([True, True, False])) # Devuelve True si todos los elementos de la secuencia son verdaderos +print(any([False, False, True])) # Devuelve True si al menos un elemento de la secuencia es verdadero +print(bin(10)) # Devuelve la representación binaria de un número +print(oct(10)) # Devuelve la representación octal de un número +print(hex(10)) # Devuelve la representación hexadecimal de un número +print(chr(65)) # Devuelve el carácter correspondiente al valor Unicode especificado +print(ord("A")) # Devuelve el valor Unicode correspondiente al carácter especificado +print(repr("Hola")) # Devuelve una representación de cadena de un objeto +print(str(123)) # Devuelve una representación de cadena de un objeto +print(list((1, 2, 3))) # Convierte un objeto iterable en una lista +print(tuple([1, 2, 3])) # Convierte un objeto iterable en una tupla +print(set([1, 2, 3, 3, 2, 1])) # Convierte un objeto iterable en un conjunto +print(dict([("a", 1), ("b", 2), ("c", 3)])) # Convierte un objeto iterable en un diccionario +print(reversed([1, 2, 3])) # Devuelve un iterador que recorre los elementos de una secuencia en orden inverso +print(enumerate(["a", "b", "c"])) # Devuelve un iterador que devuelve pares de índice y valor de una secuencia +print(zip([1, 2, 3], ["a", "b", "c"])) # Devuelve un iterador que combina elementos de varias secuencias +print(map(lambda x: x**2, [1, 2, 3, 4, 5])) # Devuelve un iterador que aplica una función a cada elemento de una secuencia +print(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5])) # Devuelve un iterador que filtra los elementos de una secuencia según una función +#print(reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])) # Devuelve un valor acumulado aplicando una función a los elementos de una secuencia +print(sum([1, 2, 3, 4, 5])) # Devuelve la suma de los elementos de una secuencia +print("carlos otoia".upper()) # Devuelve una cadena en mayúsculas +print("CARLOS OTOIA".lower()) # Devuelve una cadena en minúsculas +print("carlos otoia".capitalize()) # Devuelve una cadena con la primera letra en mayúscula +print("carlos otoia".title()) # Devuelve una cadena con la primera letra de cada palabra en mayúscula +print("carlos otoia".replace("carlos", "Carlos")) # Devuelve una cadena con las ocurrencias de una subcadena reemplazadas por otra +print("carlos otoia".split()) # Devuelve una lista de subcadenas separadas por espacios +print("carlos otoia".join(["Hola", "mundo"])) # Devuelve una cadena que es la concatenación de una secuencia de cadenas, separadas por la cadena original + + +""" +Variables locales y globales +""" + +global_variable = "Soy una variable global" + +print(f"Variable global: {global_variable}") + +def funcion_variable_local(): + global global_variable + global_variable = "Soy una variable global modificada" + print(f"Variable global modificada: {global_variable}") + +funcion_variable_local() + + +""" +EXTRA +""" +def print_numeros (text_1, text_2) -> int: + contador = 0 + for numero in range (1, 101): + if numero % 3 == 0 and numero % 5 == 0: + print(text_1, text_2) + elif numero % 3 == 0: + print(text_1) + elif numero % 5 == 0: + print(text_2) + else: + print(numero) + contador += 1 + return contador + + +print(print_numeros("text_1", "text_2")) + +