Skip to content

Commit acbbbd4

Browse files
authored
Merge branch 'mouredev:main' into main
2 parents 6fc2c93 + 68820b0 commit acbbbd4

File tree

8 files changed

+1539
-850
lines changed

8 files changed

+1539
-850
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# https://www.python.org/
2+
3+
# Este es un comentario de una línea, se crea utilizando al inicio el símbolo "#"
4+
5+
"""Este es un comentario de varias líneas,
6+
se crea encerrando el comentario entre 3 comillas seguidas,
7+
estas pueden ser dobles ' " ' """
8+
9+
10+
"""O pueden ser también sencillas " ' "
11+
Y si nos fijamos bien, hewmos utilizado las comillas dobles y sencillas en cada comntario comentario"""
12+
13+
miVariable = "Esta es una variable"
14+
MICONSTANTE = "Esta es una constante" # Realmente python no utiliza constantes como tal, sólo que por convención se nombra la variable "CONSTANTE" con el estilo UPPERCASE.
15+
16+
myString = "DG Juancho"
17+
otherString = "Python"
18+
myInt = 46
19+
myFloat = 1.78
20+
myBoolean = True
21+
myBoolean = False
22+
23+
print(f'"¡Hola, {otherString}!"')
24+
25+
print(type(myString))
26+
print(type(myInt))
27+
print(type(myFloat))
28+
print(type(myBoolean))

Roadmap/01 - OPERADORES Y ESTRUCTURAS DE CONTROL/javascript/yesidL12.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ while (condición) {
196196

197197
// Ejemplo
198198

199-
let i3 = o;
199+
let i3 = 0;
200200
while (i3 <= 20) {
201201
if(i3 % 2 == 0) {
202202
console.log(i3);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
// Por declaración
2+
function nombre(p1, p2){
3+
//Bloque de código
4+
}
5+
6+
// Ejemplo
7+
8+
function saludar() {
9+
console.log('Hola');
10+
}
11+
12+
saludar(); // 'Hola'
13+
14+
// por expresión
15+
16+
let name = function(p1, p2) {
17+
//Bloque de código
18+
}
19+
20+
// Ejemplo
21+
22+
const saludo = function saludar() {
23+
console.log('Hola');
24+
}
25+
26+
saludo(); // 'Hola'
27+
28+
// funciones anonimas
29+
// ===> son un tipo de funciones que se declaran sin definr un nombre de función, alojándolas en el interior de una variable.
30+
31+
const nombre = function (name) {
32+
console.log(name);
33+
}
34+
35+
nombre('Yesid'); // 'Yesid'
36+
37+
// Funciones autoejecutables
38+
// ===> Ideal para funciones que no vas a volver a necesitar y es necesario ejecutarla inmediatamente.
39+
40+
(function () {
41+
console.log('Hola!!');
42+
}) ();
43+
44+
// Clausuras Y funciones dentro de funciones
45+
// ===> Clausura se define como una función que <<encierra>> variables en su propio ámbito.
46+
47+
const incr = (function () {
48+
let num = 0;
49+
return function() {
50+
num++;
51+
return num;
52+
}
53+
}) ();
54+
55+
/** Analicemos primero lo que tenemos en este codigo:
56+
* Tenemos una funcón anónima que es tambien una función autoejecutable.
57+
* Obsrva que la función aujtoejecutable devuelve otra funcion diferente.
58+
* AL ejecutar la función la primera vez (autoejecutable) devolvemos esa otra función que es la que se guarda en INCR para futuras ejecuciones.
59+
*/
60+
61+
// Callback
62+
// ===> Es pasar una funcion por parametro a otra funcion de modo que esta última función puede ejecutar la función pasada por parametro de forma genérica desde su propio código, y nosotros podemos definirlas desde fuera de dicha función.
63+
64+
//Ejemplo,
65+
66+
const action = function () {
67+
console.log('Acción ejecutada');
68+
}
69+
70+
const mainFunction = function(Callback) {
71+
Callback ();
72+
}
73+
74+
mainFunction(action);
75+
76+
/** Definimos una función action que realiza una tarea.
77+
* Definimos una función mainFunction, que recibe como parámetro una función callback genérica.
78+
* Llamamos a mainFunction, pasándole como parámetro la función concreta, que en este caso es action.
79+
*/
80+
81+
// Funciones de orden superior (HOF)
82+
// ===> Son funciones que reciben por parámetro otra función y/o devuelven una función mediante el return.
83+
84+
const accion = function () {
85+
console.log('Acción ejecutada');
86+
}
87+
88+
const error = function () {
89+
console.error('Ha ocurrido un error');
90+
}
91+
92+
const doTask = function (callback, callbackError) {
93+
const isError = Math.random() < 0.5;
94+
95+
if(!isError) callback();
96+
else callbackError();
97+
}
98+
99+
doTask(accion, error);
100+
101+
// arrow Function
102+
103+
const func = () => {
104+
console.log('Arrow function');
105+
}
106+
107+
108+
//Dificultad extra
109+
function cadenaDeTexto (str1, str2) {
110+
for (let numero = 1; numero < 100; numero++ ) {
111+
if(numero % 3 == 0 && numero % 5 == 0) {
112+
console.log(str1 + str2);
113+
} else if(numero % 3 == 0) {
114+
console.log(str1);
115+
} else if(numero % 5 == 0) {
116+
console.log(str2);
117+
} else {
118+
console.log(numero);
119+
}
120+
}
121+
122+
}
123+
124+
cadenaDeTexto('fizz','buzz');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
const frutas = ['Manzana', 'Banana', 'Fresa', 'Uva', 'Mango', 'Pera', 'Kiwi', 'Durazno', 'Sandía', 'Naranja', 'Cereza']
2+
3+
const crearFiltroPorLetra = (letra) => {
4+
return function (fruta) {
5+
return fruta.startsWith(letra)
6+
}
7+
}
8+
9+
const filtrarPorM = crearFiltroPorLetra('M')
10+
const frutasConM = frutas.filter(filtrarPorM)
11+
12+
console.log(frutasConM)
13+
14+
// DIFICULTAD EXTRA
15+
const estudiantes = [
16+
{ nombres: 'Eduardo Molina', fechaNacimiento: '1999-08-30', calificaciones: [10, 8, 9, 10] },
17+
{ nombres: 'Lucía Torres', fechaNacimiento: '2001-05-15', calificaciones: [9, 7, 8, 10] },
18+
{ nombres: 'Carlos Jiménez', fechaNacimiento: '2000-11-22', calificaciones: [6, 9, 8, 7] },
19+
{ nombres: 'Ana Pérez', fechaNacimiento: '1998-12-10', calificaciones: [10, 10, 9, 8] },
20+
{ nombres: 'Juan Rodríguez', fechaNacimiento: '2002-04-05', calificaciones: [7, 6, 7, 8] },
21+
{ nombres: 'María López', fechaNacimiento: '2000-03-18', calificaciones: [8, 9, 10, 9] },
22+
{ nombres: 'Sofía García', fechaNacimiento: '1999-09-12', calificaciones: [9, 8, 8, 9] },
23+
{ nombres: 'Miguel Castro', fechaNacimiento: '2003-01-25', calificaciones: [6, 7, 6, 7] },
24+
{ nombres: 'Laura Fernández', fechaNacimiento: '2001-06-30', calificaciones: [10, 9, 9, 10] },
25+
{ nombres: 'Andrés Martínez', fechaNacimiento: '2002-02-14', calificaciones: [8, 8, 7, 8] }
26+
]
27+
28+
const obtenerPromedio = (estudiante) => {
29+
const { nombres, calificaciones } = estudiante
30+
const promedio = calificaciones.reduce((acumulador, nota) => acumulador + nota / calificaciones.length, 0)
31+
return {
32+
nombres,
33+
promedio
34+
}
35+
}
36+
37+
const mejoresEstudiantes = (estudiante) => {
38+
const { nombres, promedio } = estudiante
39+
if (promedio >= 9) {
40+
return { nombres }
41+
}
42+
}
43+
44+
const ordenarFechaNacimiento = (estudianteA, estudianteB) => {
45+
return new Date(estudianteB.fechaNacimiento) - new Date(estudianteA.fechaNacimiento)
46+
}
47+
48+
const calificacionMasAlta = (estudiante) => {
49+
const { nombres, calificaciones } = estudiante
50+
const calificacionAlta = Math.max(...calificaciones)
51+
return {
52+
nombres,
53+
calificacionAlta
54+
}
55+
}
56+
57+
const promedios = estudiantes.map(obtenerPromedio)
58+
console.log(promedios)
59+
60+
const mejoresNotas = promedios.filter(mejoresEstudiantes)
61+
console.log(mejoresNotas)
62+
63+
const estudiantesPorFechaNacimiento = estudiantes.sort(ordenarFechaNacimiento)
64+
console.log(estudiantesPorFechaNacimiento)
65+
66+
const calificacionMasAltaPorEstudiante = estudiantes.map(calificacionMasAlta)
67+
console.log(calificacionMasAltaPorEstudiante)

0 commit comments

Comments
 (0)