# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

# <img style="float: left; margin: 30px 15px 15px 15px;" src="https://pngimage.net/wp-content/uploads/2018/06/logo-iteso-png-5.png" width="300" height="500" /> 
#     
#     
# ### <font color='navy'> Simulación de procesos financieros. 
#
# **Nombres:** <span style="color:blue"> <NAME></span> | <span style="color:green"> <NAME> </span>
#
# **Fecha:** 17 de febrero del 2021.  
#
# **Expediente** : <span style="color:blue"> 724055 </span> | <span style="color:green"> 724031</span>
#
# **Profesor:** <NAME>.
#
# <span style="color:blue"> Estudiante 1</span> | <span style="color:green"> Estudiante 2 </span>
#
# # Tarea 3: Clase 6

# > Usando compresión de listas o funciones map(sino recuerda como funciona observar el siguiente enlace https://www.pythonforbeginners.com/lists/list-comprehensions-in-python/), resolver los siguientes ejercicios:
#
# >1. Resolver la siguiente ecuación recursiva usando funciones como se vió en clase
# $$ D_{n}=(n-1) D_{n-1}+(n-1) D_{n-2} \quad n\ge 3$$
# con $D_1=0$ y $D_2 = 1$
# >3. Count the number of spaces in the following string `variable =  relaciónn  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores`.
# >4. Remove all of the vowels in a string [make a list of the non-vowels].
# >5. Find all of the words in a string that are less than 4 letters.
# >6. Use a dictionary comprehension to count the length of each word in a sentence.
# >7. Use a nested list comprehension to find all of the numbers from 1-1000 that are divisible by any single digit besides 1 (2-9). 

# ## 1. Resolver la siguiente ecuación recursiva usando funciones como se vió en clase
# $$ D_{n}=(n-1) D_{n-1}+(n-1) D_{n-2} \quad n\ge 3$$
# con $D_1=0$ y $D_2 = 1$

# ### Solución <span style="color:blue"> <NAME> </span>



# ### Solución <span style="color:green"> <NAME> </span>



# ## 2. Count the number of spaces in the following string:
# `variable =  relaciónn  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores`.

# ### Solución <span style="color:blue"> <NAME> </span>



# ### Solución <span style="color:green"> <NAME> </span>

variable =  "relaciónn  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores"
variable.count(" ")

# ## 3. Remove all of the vowels in a string
# (make a list of the non-vowels).

# ### Solución <span style="color:blue"> <NAME> </span>



# ### Solución <span style="color:green"> <NAME> </span>

# Programa para eliminar las vocales del enunciado del ejercicio 2
vowels = 'aeiouAEIOUéíó'
vocales = [''.join([x for x in variable if x not in vowels])]
vocales

# +
# Programa para eliminar las vocales de cualquier oración que nos den.
vowels = 'aeiouAEIOUéíó'

given_str = input("Introduce una oración : ")
final_str = [''.join([ch for ch in given_str if ch not in vowels])]

print(final_str)
# -

# ## 4. Find all of the words in a string that are less than 4 letters.

# ### Solución <span style="color:blue"> <NAME> </span>



# ### Solución <span style="color:green"> <NAME> </span>

# Programa para encontrar las palabras que tienen menos de 4 letras de la oración del ejercicio 2
filtro = variable
filtro =  list(filter(lambda x: len(x) < 4, filtro.split()))
filtro

# Programa para encontrar las palabras que tienen menos de 4 letras de cualquier oración
palabra = input("Introduce una oración : ")
filtro2 = palabra
filtro2 =  list(filter(lambda x: len(x) < 4, filtro2.split()))
filtro2

# ## 5. Use a dictionary comprehension to count the length of each word in a sentence.

# ### Solución <span style="color:blue"> <NAME> </span>



# ### Solución <span style="color:green"> <NAME> </span>

# Program para contar las letras de cada palabra de la oración del ejercicio 2
dict = variable.split()
dict_comp = [len(x) for x in dict]
dict_comp

# Program para contar las letras de cada palabra de cualquier oración
dict2 = input('Escribe una oración: ').split()
dict_comp2 = [len(x) for x in dict2]
dict_comp2

# ## 6. Use a nested list comprehension to find all of the numbers from 1-1000 that are divisible by any single digit besides 1 (2-9). 

# ### Solución <span style="color:blue"> <NAME> </span>



# ### Solución <span style="color:green"> <NAME> </span>

numeros = [n for n in range(1,1001) if True in (True for div in range(2,10) if n % div == 0)]
numeros

StarcoderdataJupyterScriptsDedupFiltered