Ejercicio 1: Replicar la funcion nompropio de excel.
In [1]:
def nompropio(texto):
resultado = ""
for i in range(len(texto)):
if i == 0:
resultado += texto[i].upper()
elif texto[i-1] == " ":
resultado += texto[i].upper()
else:
resultado += texto[i].lower()
return resultado
In [2]:
nombre = "jUaN pErEz"
In [3]:
nompropio(nombre)
Out[3]:
In [4]:
nompropio('rodrigo TRIGO')
Out[4]:
Ejercicio 2. Realice una función que calcule: $ \sum_{k=1}^{n} k^2 $
Para verificar si su funcion es correcta, puede calcular $ \frac{n(n+1)(2n+1)}{6} $
In [5]:
def sumatoria_k2(hasta):
suma = 0
while hasta > 0:
suma += hasta**2
hasta -= 1
return suma
In [6]:
sumatoria_k2(100)
Out[6]:
In [7]:
100*101*201/6
Out[7]:
Ejercicio 3: Realice una función que calcule un promedio ponderado.
In [8]:
def calcula_nota(notas, ponderaciones):
nota = 0
for i in range(len(notas)):
nota += notas[i] * ponderaciones[i]
return nota
In [9]:
misnotas = [2.0, 7.0, 3.5, 3.8]
In [10]:
misponderaciones = [0.2, 0.2, 0.3, 0.3]
In [11]:
calcula_nota(misnotas, misponderaciones)
Out[11]:
Ejercicio 4. Realice una funcion que calcule la curtosis de una lista de valores, donde $$ Curtosis = \frac{\sum_{i=1}^{n} (X_i - \overline{X})^4}{n*\sigma^4} -3 $$ donde $\overline{X}$ es el promedio de la muestra y $\sigma$ es la desviación estandar.
Para ello realizaremos 3 funciones, promedio, varianza que es el cuadrado de la desviación estandar y luego la curtosis.
In [12]:
def promedio(valores):
suma = 0
for i in valores:
suma += i
return suma/len(valores)
In [13]:
promedio(misnotas)
Out[13]:
In [14]:
def varianza(valores):
suma = 0
prom = promedio(valores)
for i in valores:
suma += (i-prom)**2
return suma/len(valores)
In [15]:
varianza(misnotas)
Out[15]:
In [16]:
def curtosis(valores):
suma = 0
prom = promedio(valores)
var = varianza(valores)
for i in valores:
suma += (i-prom)**4
suma /= len(valores)*var**2
suma -= 3
return suma
In [17]:
curtosis(misnotas)
Out[17]: