Recursos libres para aprender a programar en español
Basado en https://github.com/MumukiProject/mumuki-guia-javascript-ejercitacion-bucles
obtener_indice(valor, lista)
Definí una función obtener_indice
que tome como argumento un valor cualquiera valor
y un lista cualquiera lista
y devuelva el índice del primer ítem con dicho valor en la lista, o -1 si no hay ninguno.
obtener_indice(12, [5, 7, 12, 34, 54, 2, 12])
2
obtener_indice(83, [5, 7, 12, 34, 54, 2, 12])
-1
repetir(valor, cantidad)
Definí una función repetir
que tome como argumento un valor valor
y un número entero cantidad
, y devuelva una lista con valor
repetido cantidad
de veces.
repetir('lovelace', 3)
['lovelace', 'lovelace', 'lovelace']
repetir('a', 5)
['a', 'a', 'a', 'a', 'a']
repetir('python', 0)
[]
sumar_impares_hasta(numero)
Definí una función sumar_impares_hasta
que tome como argumento un número numero
y que devuelva la suma de todos los impares empezando desde 0 hasta dicho numero
inclusive.
sumar_impares_hasta(5)
9 #(1 + 3 + 5 = 9)
sumar_impares_hasta(13)
49
sumar_impares_hasta(47)
576
cuenta_regresiva(numero_inicial)
Definí una función cuenta_regresiva
que tome como argumento un número entero numero_inicial
y que devuelva un lista con cuyo primer ítem sea numero_inicial
y los demás ítems sean números enteros sucesivos descendientes, hasta llegar a 0.
cuenta_regresiva(3)
[3, 2, 1, 0]
cuenta_regresiva(5)
[5, 4, 3, 2, 1, 0]
invertir(lista)
Definí una función invertir
que tome como argumento un lista lista
y que devuelva un lista con los mismos valores pero en orden invertido.
>>> invertir([1, 2, 3])
[3, 2, 1]
>>> invertir([5, 7, 99, 34, 54, 2, 12])
[12, 2, 54, 34, 99, 7, 5]
remover_duplicados(lista)
Definí una función remover_duplicados
que tome como argumento un lista lista
y que devuelva un lista con los mismos valores de lista
pero sin valores duplicados.
>>> remover_duplicados([1, 1, 1])
[1]
>>> remover_duplicados([1, 1, 2, 2, 3, 3])
[1, 2 ,3]
>>> remover_duplicados([5, 23, 8, 5, 5, 44, 23])
[5, 23 ,8, 44]
repetir_letras(palabra, cantidad)
Definí una función repetir_letras
que tome como argumento un string palabra
y un número entero cantidad
, y devuelva una string donde cada letra de palabra
esté repetida cantidad
de veces.
>>> repetir_letras('hola', 2)
'hhoollaa'
>>> repetir_letras('ada', 3)
'aaadddaaa'
>>> repetir_letras('ah!', 5)
'aaaaahhhhh!!!!!'
>>> repetir_letras('basta', 1)
'basta'
capitalizar_palabras(string)
Definí una función capitalizar_palabras
tome como argumento un string string
y devuelva un string donde cada palabra está capitalizada (con la primera letra máyuscula). Dejar las demás letras como están.
>>> capitalizar_palabras('Esto es un título')
'Esto Es Un Título'
>>> capitalizar_palabras('había una vez')
'Había Una Vez'
>>> capitalizar_palabras('OMG')
'OMG'
sumar_seccion(lista, comienzo, cantidad)
Definí una función sumar_seccion
que tome como argumento un lista de números enteros lista
, un número entero comienzo
y un número entero cantidad
, y que devuelva la suma de cantidad
de números de lista
empezando a contar desde el ítem con índice comienzo
.
>>> sumar_seccion([2, 2, 4, 3, 10, 20, 5], 0, 3)
8 #(2 + 2 + 4 = 8)
>>> sumar_seccion([2, 2, 4, 3, 10, 20, 5], 2, 4)
37 #(4 + 3 + 10 + 20 = 37)
>>> sumar_seccion([2, 2, 4, 3, 10, 20, 5], 4, 1)
10
es_subconjunto(subconjunto, conjunto)
Definí una función es_subconjunto
que tome como argumento dos listas, subconjunto
y conjunto
, y devuelva True
si subconjunto
es realmente subconjunto de conjunto
, es decir, si todos los valores de subconjunto
están en conjunto
.
>>> es_subconjunto([1], [1, 2, 3])
True
>>> es_subconjunto([1, 2, 3], [1, 2, 3, 4, 5])
True
>>> es_subconjunto([27, 49, 54], [54, 27, 8, 27, 49])
True
>>> es_subconjunto([1, 2, 3], [1, 2])
False
>>> es_subconjunto([1], [2, 3, 4])
False
tiene_bloque(lista)
Definí una función tiene_bloque
que tome como argumento un lista lista
y devuelva True
si dicho lista
tiene un bloque de 3 o más ítems consecutivos idénticos, o False
si no tiene.
>>> tiene_bloque([1, 2, 3])
False
>>> tiene_bloque([1, 1, 1, 2, 3])
True
>>> tiene_bloque([1, 2, 3, 3, 3])
True
>>> tiene_bloque([1, 2, 3, 3, 3, 8])
True
>>> tiene_bloque([1, 2, 2, 3, 3, 4])
False
es_palindromo(palabra)
Definí una función es_palindromo
que tenga como parámetro un string palabra
y devuelva True
si dicha palabra es palíndroma, es decir, si puede leerse de igual manera de izquierda a derecha que de derecha a izquierda, o False
sino.
>>> es_palindromo('kayak')
True
>>> es_palindromo('reconocer')
True
>>> es_palindromo('mama')
False
>>> es_palindromo('python')
False
agregar_al_principio(lista, elemento)
Definí un procedimiento
agregar_al_principio
que agregue un elemento al principio de una lista (y no al final, como lo haríapush
)
>>> unos_numeros = [3, 5, 9]
>>> agregar_al_principio(unos_numeros, 1)
>>> unos_numeros
[1, 3, 5, 9]
>>> unos_string = ["mundo", "!"]
>>> agregar_al_principio(unos_strings, "hola")
>>> unos_strings
["hola", "mundo", "!"]