<jupyter_start><jupyter_text>Ejercicio 1Escribir un programa para mostrar sólo los números de una lista (dada) que cumplan las condiciones siguientes ✈⏰♥⌛⛸🏀```lista = [14, 75, 150, 180, 145, 525, 50, 10, 56,55]```1. El número debe ser divisible por cinco 🙏2. Si el número es mayor que 150, sáltelo y pase al siguiente número 🫂3. Si el número es mayor que 500, paren el bucle 🔊<jupyter_code>lista = [14, 75, 150, 180, 145, 525, 50, 10, 56,55]
for x in lista:
  if  x>500:
    break
  elif x>150:
   continue
  elif x %5==0:
   print(x)<jupyter_output>75
150
145<jupyter_text>Ejercicio 2Escriba un programa para contar el número **entero** total de dígitos en un número usando un bucle while. ⚪❌💯👍⚡Por ejemplo, el número es 12345, por lo que la salida debe ser 5. 📷🥿🥲😕🔮<jupyter_code>Numero = int(input("ingrese un numero: "))
cont = 0
while (Numero>0):
  Numero=Numero//10
  cont=cont+1
print("El numero ingresado tiene %s digitos" % (cont))<jupyter_output>ingrese un numero: 12345
El numero ingresado tiene 5 digitos<jupyter_text>Ejercicio 3Escriba un programa para usar en bucle para imprimir el siguiente patrón de números inverso. **Ayuda** *Pueden usar un loop anidado* ☣🙂🚒⛴🗃⛲```6 5 4 3 2 15 4 3 2 1 4 3 2 1 3 2 12 1 1```<jupyter_code>for n in range(6,0,-1):
  for x in range(n,0,-1):
   print(x, end=' ')
  print()<jupyter_output><empty_output><jupyter_text>Ejercicio 4Escriba un programa para calcular la suma de la siguiente serie hasta el n-ésimo término. 🧉👒😵🧭🈹🥸$$3+33+333+3333+33333+.....$$Por ejemplo, si n = 5 la serie se convertirá en 3 + 33 + 333 + 3333 + 33333 = 37035 🥸💵🐬⚓♊<jupyter_code>n=int(input('ingrese el valor de n:'))
inicio=3
suma=0
for i in range(0,n):
  print(inicio,end="+")
  suma+=inicio
  inicio=inicio*10+3
print("la suma de la serie es", suma)<jupyter_output>ingrese el valor de n:5
3+33+333+3333+33333+la suma de la serie es 37035<jupyter_text>Ejercicio 5Crear una función que se llama ```funcion_xy``` que tome como argumento una lista de **numeros enteros** (dada, ver mas abajo) y adicionalmente permita la posibilidad de incorporar parametros adicionales ```*args```y ```**kargs```. ```lista=[2,1,3,5,4,7,9,8,6,10]```Se requiere que la funcion tenga las siguientes caracteristicas```*args```1. Ordene la lista de menor a mayor y la devuelva como salida.2. Extraiga y muestre solo los numeros pares3. Calcular la media recortada al 10% de la lista. Para eso pueden utilizar importar la siguiente librería:     ```from scipy import stats```Y utilizar la función ```stats.trim_mean(lista, 0.1, axis=0)``````**kargs```1. ```reverse == True``` => Debera invertir la lista 2. ```odd == True``` => retorna una lista con los nombres 'pares' e 'impares' para cada posicion3. ```filter == True``` => extraer los valores mayores a 4 y mostrarlos**Nota :** En todos los casos n olviden la importancia del return y traten de aplicar todos los conceptos que hemos visto para resolver de la manera más eficiente posible.<jupyter_code>import numpy as np 
from scipy import stats
def funcion_xy(l,*args, **kargs):
    
    if args:
        print('hay argumentos extra')
        print(args)
        if args[0] == 1:
            '''
                1 = ordenar la lista
            '''
            print('ordenando lista')
            x=np.sort(l)
            return x

            
        elif args[0] == 2:
            '''
                2 = Par o impar
            '''
            print('sacando numeros pares')
            result = []
            for i in l:
                if i % 2 == 0:
                    result.append(i)
            
            return result
        elif args[0] == 3:
            '''
                3 = Media recortada al 10%
            '''
            print('La media recortada al 10% es')
            m=stats.trim_mean(l, 0.1, axis=0)
            return m
    if kargs.keys():
        print('hay argumentos complejos')
        # print(kargs.keys())
        if 'reverse' in kargs.keys():            
            if kargs['reverse'] == True:
                '''
                    reverse
                '''
                print('Lista inversa')
                l.reverse()
                return l
        
        elif 'odd' in kargs.keys():
            
            if kargs['odd'] == True:
                '''
                    Par o impar
                '''
                result = []
                for i in l:
                    if i % 2 == 0:
                        result.append('par')
                    else:
                        result.append('impar')
                return result
            
        if 'filter' in kargs.keys():
            
            if kargs['filter'] == True:
                '''
                    extraer los valores mayores a 4 y mostrarlos
                '''
                print('mostrando valores mayores a 4')
            result = []
            for i in l:
                if i >4:
                    result.append(i)
            
            return result
lista=[2,1,3,5,4,7,9,8,6,10]
funcion_xy(lista,1)
lista=[2,1,3,5,4,7,9,8,6,10]
funcion_xy(lista,2)
lista=[2,1,3,5,4,7,9,8,6,10]
funcion_xy(lista,3)
lista=[2,1,3,5,4,7,9,8,6,10]
funcion_xy(lista,reverse=True)
lista=[2,1,3,5,4,7,9,8,6,10]
funcion_xy(lista,odd=True)
lista=[2,1,3,5,4,7,9,8,6,10]
funcion_xy(lista,filter=True)<jupyter_output>hay argumentos complejos
mostrando valores mayores a 4
{'fraction_non_alphanumeric': 0.12460361872784928, 'fraction_numerical': 0.05595970900951315, 'mean_word_length': 2.2895705521472394, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 24, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, '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': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '481304', 'license': 'MIT', 'n_tokens_mistral': 2120, 'n_tokens_neox': 1934, 'n_words': 564, 'path': 'Actividad 3.ipynb', 'repo_name': 'ricacero/Datascience300', 'size': '5361'}