#1
import math as mt
#a)
r = mt.log(15,2)
r
#b)
## 3.9068905956085187
r = abs((2**5-mt.factorial(6))*(33/14))
r
#c)
## 1621.7142857142858
r = mt.exp(1.3584) + 4*4
r
#d)
## 19.88996437698103
r = (mt.sqrt(mt.pi+6))*(3**3)
r
## 81.63468040279793
#2
palabras = ['texto', 'cadena', 'soluciones']
  
for palabra in palabras:
    if len(palabra) % 5 == 0:
        print(palabra + " " + "si es multipo de 5")
    else:
        print(palabra + " " + "no es multipo de 5")

      
## texto si es multipo de 5
## cadena no es multipo de 5
## soluciones si es multipo de 5
#3
lado1 = 2
lado2 = 2
lado3 = 4

if (lado1 == lado2) & (lado2 == lado3) & (lado1 == lado3):
  print('Es un triangulo equilatero')
elif (lado1 != lado2) & (lado2 != lado3) & (lado1 != lado3):
  print('Es un triangulo escaleno')
else:
  print('El tiangulo es isoseles')
  
## El tiangulo es isoseles
lado1 = 2
lado2 = 2
lado3 = 2

if (lado1 == lado2) & (lado2 == lado3) & (lado1 == lado3):
  print('Es un triangulo equilatero')
elif (lado1 != lado2) & (lado2 != lado3) & (lado1 != lado3):
  print('Es un triangulo escaleno')
else:
  print('El tiangulo es isoseles')
  
  
  
## Es un triangulo equilatero
lado1 = 2
lado2 = 2
lado3 = 4

if (lado1 == lado2) & (lado2 == lado3) & (lado1 == lado3):
  print('Es un triangulo equilatero')
elif (lado1 != lado2) & (lado2 != lado3) & (lado1 != lado3):
  print('Es un triangulo escaleno')
else:
  print('El tiangulo es isoseles')
## El tiangulo es isoseles
#4
formapago="efectivo"
#formapago="cheque"
#formapago="tarejeta"
precio=100

if (formapago == 'efectivo'):
  print("se le ha hecho un 10% de descuento. Su total es de: $" + str(precio*.90))
elif (formapago == 'cheque'):
  print("se le ha hecho un 5% de descuento. su total es de: $" + str(precio*.95))
else:
  print("no se le hizo ningun descuento. Su total es de: $" + str(precio))
  

#formapago="efectivo"
## se le ha hecho un 10% de descuento. Su total es de: $90.0
formapago="cheque"
#formapago="tarejeta"
precio=100

if (formapago == 'efectivo'):
  print("se le ha hecho un 10% de descuento. Su total es de: $" + str(precio*.90))
elif (formapago == 'cheque'):
  print("se le ha hecho un 5% de descuento. su total es de: $" + str(precio*.95))
else:
  print("no se le hizo ningun descuento. Su total es de: $" + str(precio))
  

#formapago="efectivo"
#formapago="cheque"
## se le ha hecho un 5% de descuento. su total es de: $95.0
formapago="tarejeta"
precio=100

if (formapago == 'efectivo'):
  print("se le ha hecho un 10% de descuento. Su total es de: $" + str(precio*.90))
elif (formapago == 'cheque'):
  print("se le ha hecho un 5% de descuento. su total es de: $" + str(precio*.95))
else:
  print("no se le hizo ningun descuento. Su total es de: $" + str(precio))
    
## no se le hizo ningun descuento. Su total es de: $100
# 5 
import statistics as st
x = (25, 14, 78, 33, 100, 2, 154, 56, 47, 85)
st.mean(x) # media
## 59.4
st.variance(x) # varianza
## 2111.155555555555
max(x) # maximo
## 154
min(x) # minimo
## 2
st.median(x) # mediana
## 51.5
# 6
import numpy as np
Mat1 = np.array([[10, 4, -1], [-8, 6, 15]])
Mat1
## array([[10,  4, -1],
##        [-8,  6, 15]])
Mat2 = np.array(np.transpose([[-12, 3], [47, -51], [8, 45]]))
Mat2
  
## array([[-12,  47,   8],
##        [  3, -51,  45]])
A = Mat1 + (22 * Mat2)
A
## array([[ -254,  1038,   175],
##        [   58, -1116,  1005]])
# 7
A = np.array([[-11, 45, 7], [-1, -13, 8], [5,2, 41]])
A
## array([[-11,  45,   7],
##        [ -1, -13,   8],
##        [  5,   2,  41]])
diagonal= A[0,0] + A[1,1] +A[2,2]
diagonal
## 17
# 8
arr = {'Name': ["Lucia","Pedro","Ines","Luis", "Andres", "Ana"],
         'Age': [16,17,17,15,16,18],
         'Absence': [6,7,8,2,4,9],
         'Freetime': [3,2,4,1,3,4],
         'Activities': ['no','no','no','yes','no','yes'],
         'Grade': [8.2,7.0,7.5,9.1,7.3,6.5],
         'Sex': ['F','M','F','M','M','F']}
import pandas as pd
df = pd.DataFrame(arr)
df
  
#9
##      Name  Age  Absence  Freetime Activities  Grade Sex
## 0   Lucia   16        6         3         no    8.2   F
## 1   Pedro   17        7         2         no    7.0   M
## 2    Ines   17        8         4         no    7.5   F
## 3    Luis   15        2         1        yes    9.1   M
## 4  Andres   16        4         3         no    7.3   M
## 5     Ana   18        9         4        yes    6.5   F
df.info()
## <class 'pandas.core.frame.DataFrame'>
## RangeIndex: 6 entries, 0 to 5
## Data columns (total 7 columns):
##  #   Column      Non-Null Count  Dtype  
## ---  ------      --------------  -----  
##  0   Name        6 non-null      object 
##  1   Age         6 non-null      int64  
##  2   Absence     6 non-null      int64  
##  3   Freetime    6 non-null      int64  
##  4   Activities  6 non-null      object 
##  5   Grade       6 non-null      float64
##  6   Sex         6 non-null      object 
## dtypes: float64(1), int64(3), object(3)
## memory usage: 464.0+ bytes
df.describe(include = np.number)
##              Age   Absence  Freetime     Grade
## count   6.000000  6.000000  6.000000  6.000000
## mean   16.500000  6.000000  2.833333  7.600000
## std     1.048809  2.607681  1.169045  0.925203
## min    15.000000  2.000000  1.000000  6.500000
## 25%    16.000000  4.500000  2.250000  7.075000
## 50%    16.500000  6.500000  3.000000  7.400000
## 75%    17.000000  7.750000  3.750000  8.025000
## max    18.000000  9.000000  4.000000  9.100000
df.describe(exclude = np.number)
  #df[0:3]
##          Name Activities Sex
## count       6          6   6
## unique      6          2   2
## top     Lucia         no   F
## freq        1          4   3
df.iloc[:,0:3]
##      Name  Age  Absence
## 0   Lucia   16        6
## 1   Pedro   17        7
## 2    Ines   17        8
## 3    Luis   15        2
## 4  Andres   16        4
## 5     Ana   18        9
df.loc[:,'Name':'Absence']
##      Name  Age  Absence
## 0   Lucia   16        6
## 1   Pedro   17        7
## 2    Ines   17        8
## 3    Luis   15        2
## 4  Andres   16        4
## 5     Ana   18        9