<jupyter_start><jupyter_text>Simulación de procesos financieros. **Nombres:** <NAME> y <NAME>.**Fecha:** 14 de Septiembre del 2020.**Expediente** : 715214 y 713415.**Profesor:** <NAME>. Tarea 3: Clase 4 **Github:** [Repositorio de Tareas](https://github.com/RodoSlay/Tareas_RSlay_RGutierrez)<jupyter_code>import numpy as np<jupyter_output><empty_output><jupyter_text>>  Tarea 3: (Usando notebook de jupyter)** > 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$<jupyter_code>#E1
def recursiva(n:"Número de elementos"):
    '''
    Esta función contiene el proceso para sacar n valores de Dn    
    '''
    x = np.zeros(n-1)
    d1 = 0
    d2 = 1
    x[0] = d1
    x[1] = d2
    def llenar_vector(i):
        nonlocal x
        x[i-1] = (i - 1) * x[i-2] + (i-1) * x[i-3]
    [llenar_vector(i) for i in range(3,n)]
    return x
recursiva(7)
#E2
def rec(n:"Número de elementos"):
    '''
    Esta función contiene el proceso para sacar n valores de Dn    
    '''
    x = np.zeros(n-1)
    d1 = 0
    d2 = 1
    x[0] = d1
    x[1] = d2
    def y(i):
        nonlocal x
        x[i-1] = (i - 1) * x[i-2] + (i-1) * x[i-3]
    [y(i) for i in range(3,n)]
    return x
rec(7)<jupyter_output><empty_output><jupyter_text>>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`.<jupyter_code>#E1
variable =  "relaciónn  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores"
ans = [i for i in variable if i == " "]
len(ans)
#E2
variable = " relaciónn requiere, para obtener el valor de un cierto término, el conocimiento de los dos anteriores`."
f1 = variable.count(" ")
f1<jupyter_output><empty_output><jupyter_text>>3. Remove all of the vowels in a string [make a list of the non-vowels].<jupyter_code>#E1
variable =  "relación  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores"
vocales = ('a', 'e', 'i', 'o', 'u', 'á', 'é', 'í', 'ó', 'ú')

ans = [i for i in variable if i not in vocales]
ans
#E2
def no_vocal(frase): 
    vocales = ('a', 'e', 'i', 'o', 'u')  
    f ="".join([x for x in frase if x.lower() not in vocales ])         
    # Print string without vowels 
    print(f) 
no_vocal(" relación  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores")<jupyter_output>rlcón  rqr,  pr btnr  l  vlr  d n  crt  térmn,  l cncmnt d ls ds ntrrs<jupyter_text>>4. Find all of the words in a string that are less than 4 letters.<jupyter_code>#E1
variable =  "relación  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores"
variable = variable.split()

ans = [i for i in variable if len(i) < 4]
ans
#E2
texto='relación  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores'

texto = texto.split()

eliminar =list(filter(lambda x: len(x)<4, texto))
eliminar<jupyter_output><empty_output><jupyter_text>>5. Use a dictionary comprehension to count the length of each word in a sentence.<jupyter_code>variable =  "relación  requiere,  para obtener  el  valor  de un  cierto  término,  el conocimiento de los dos anteriores"
variable = variable.split()

ans = {i: len(i) for i in variable}
ans
#E2
words = ''.join([i for i in variable if i != ',']).split()
print({ word: len(word) for word in words })<jupyter_output>{'relaciónn': 9, 'requiere': 8, 'para': 4, 'obtener': 7, 'el': 2, 'valor': 5, 'de': 2, 'un': 2, 'cierto': 6, 'término': 7, 'conocimiento': 12, 'los': 3, 'dos': 3, 'anteriores`.': 12}<jupyter_text>>6. Use a nested list comprehension to find all of the numbers from 1-1000 that are divisible by any singleM digit besides 1 (2-9).<jupyter_code>ans = [n for n in range(1,1001) if [d for d in range(2,9) if n%d == 0]]
ans
#E2
numeros=[i for i in range(1,1001) if [j for j in range(2,10) if i%j == 0]]
numeros<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13240418118466898, 'fraction_numerical': 0.028803716608594657, 'mean_word_length': 3.752759381898455, 'pattern_counts': {'":': 0, '<': 32, '<?xml version=': 0, '>': 38, 'https://': 2, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '666461', 'license': 'MIT', 'n_tokens_mistral': 1771, 'n_tokens_neox': 1717, 'n_words': 553, 'path': '.ipynb_checkpoints/Tarea3_RSlay_RGutierrez-checkpoint.ipynb', 'repo_name': 'RodoSlay/Tareas_RSlay_RGutierrez', 'size': '4341'}