PROGRAMAS U4
Programa 1
def a(x, y):#FUNCION CONVENCIONAL
#DEVUELVE UN RESULTADO Y RECIBE 2 ARGUMENTOS
return x+y
print("a", a (2,3))##LAMA A FUCNION
'''f= lambda argumentos: resultado'''
Programa 2
def f(x,y,z=1): #FUNCION CONVECIONAL
return (x+y)*z
print(f(5,6))
f=lambda x,y,z=1: (x+y)*z
print(f(5,6))
def f():
return
print("F VACIA ", f())
f=lambda :
print("f NONE EN LAMBDA", f())
Programa 3
def a(x):
return x*5
print("a", a(3))
b=lambda x: x*5
print("b", b(3))
print("a==b", a==b)
print("a is b", a is b)
Programa 4
class Miclase: #CREACION DE UNA CLASE
i=12345
f='HOLA MUNDO
print("SIMPLE", Miclase)
print("SIMPLE EN f", Miclase.f)#MUESTRA EL PARAMETRO DE LA CLASE
Programa 5
class Prueba(): #CLASE LLAMADA PRUEBA
pass
p=Prueba()#P ES UN OBJETO DENTRO DE LA CLASE LLAMADO POR EL MAIN
print('PRUEBA: ', type(Prueba))
print("p: ",type(p))
class Persona:
def __init__(self,nom):
self.nombre=nom
def imprime(self): #METODO IMPRIME
print("NOMBRE: {0}".format(self.nombre))
p1=Persona('JUAN')
p2=Persona('PEDRO')
print(type(Persona))
print(type(p1))
print(type(p2))
print(p1)
print(p2)
p1.imprime()
p2.imprime()
Programa 6
def f(jamon: str, huevos: str = 'huevos') -> str:#VALIDA QUE LOS ARGUMENTOS SEAN CADENA
#FUNCION CON ARGUMENTOS PREDEFINIDOS , -> ASIGNA VALORES ALOS ARGUMENTOS
print("ANOTACIONES:", f.__annotations__)
print("ARGUMENTOS:", jamon, huevos)
return jamon + ' y ' + huevos
f('carne')
Programa7
class Hogar:
calido='SI'
class Perro: #CLASE CON PARAMETROS
tipo='CANICO'
raza='PASTOR ALEMAN'
genero='HEMBRA'
def __init__(self,nombre):
self.nombre=nombre#VAR DE INSTANCIA UNICA
d=Perro('SVETLANA')
e=Perro('CUBO')
print('VIVEN EN UN HGAR CALIDO: ')
print(Hogar.calido)
print(d.nombre)
print(d.tipo)
print(d.raza)
print(d.genero)
Programa 9
salir = False #BOOLENAO
while not salir: #MIENTRAS SALIR SEA FALSE NEGADO, TRUE
entrada=input()#RECIBE ALGO
if entrada=='ADIOS': #SI SE INGRESA UN ADIOS
salir=True #SALIR SE HACE TRUE Y SALE DEL WHILE
else:
print(entrada)#MUESTRA LO QUE RECIBE
Programa 10
edad=0
while edad<18: #MIENTRAS SEA MENOR
edad=edad+1#AUMENTA EN 1 SU VALOR
if edad%2==0:#SI ES DIVISIBLE ENTRE DOS
continue #CONTINUA Y
print('FELICICDADES TIENES ' + str(edad))#MUESTRA LETRERO
Programa 11
a,b=0,1#ASIGNACION DE VARIABLES
while b<10:
print(b)
a,b=b,a+b #a=b Y b=b+a
a,b=0,1
while b<1000:
print(b,end=',')#MUESTRA B SIN SALTO
a,b=b,a+b
Programa 12
while True:
pass
class MyEmptyClass:
pass
Programa 13
for n in range(2,10):
for x in range (2,n):#FOR ANIDADO EMPIEZA EN 2 Y ACABA EN n
if n%x ==0:#SI n/X DA EXACTO
print(n, ' ES IGUAL A ', x, '*', n/x)
break
else: #DE LO CONTRARIO
print(n,' ES NUMERO PRIMO ')
Programa 14
def ciclo():#FUNCION
for num in range(2,10):
if num %2==0:
print('ENCONTRE UN NUM PAR ', num)
continue
print('ENCONTRE UN NUMERO ', num)
ciclo()
Programa 15
edad=int(input('TECLEAR EDAD '))
peso=int(input('TECLEAR PESO '))
nombre=input('TECLEAR NOMBRE ')
print(nombre, edad, ' AÑOS ', peso, ' KG ')
Programa 16
tramos=0
total=0
while True:
try:
distancia=int(input('DISTANCIA: '))
if distancia==0:#UN 0 INGRESADO ROMPE EL CICLO
break
else:
tramos+=1
total+=distancia
print("LOS {} TRAMOS MIDEN {} KM". format(tramos, total))#MUESTRA CON FORMATO
except:
print('DEBES TECLEAR UN ENTERO ')
try: #VALIDA QUE LO INGRESADO SEA LO QUE SE PIDE
edad=input('CUANTOS 365 TIENES ')
dias=int(edad)*365
print('HAS VIVIDO '+ str(dias) + ' DIAS' )
except ValueError:
print('ESO NO ES UN NUMERO ')
Programa 17
import datetime#IMPORTA LIBRERIA
while True:
try:
fecha=input('INTRODUCIR FECHA DD-MM-AAAA ')
fecha =datetime.datetime.strptime(fecha, '%d-%m-%Y')
break
except:
print('FECHA INCORRECTA ')
print(fecha)
Programa 18
import matplotlib.pyplot as plt
#IMPORTA LA LIBRERIA matplot
lista1=[11,2,3,15,8,13,21,34]#LISTA
plt.plot(lista1)#HACE UNA GRAFICA CON LOS DATOS
plt.show()#MUESTRA GRAFICA
Programa 19
from pylab import *
#IMPORTA DE LA LIBRERIA matplot EL pylab
lista1=[11,2,3,15,8,13,21,34]
plt.plot(lista1)
plt.show()
Programa 20
from pylab import*
lista1=[2,3,4,5,8,9,10,11,11.5,12,12.5,10,9,8,7,6,5,3]#CREA LISTA
plt.plot(lista1)#HACE LA GRAFICA DE LA LISTA 1
plt.title("GRAFICA 3 ")
plt.xlabel('ABSCISA')#AGREGA UNA ETIQUETA AL EJE X
plt.ylabel('ORDENADA')#AGREGA UNA ETIQUETA AL EJE Y
lista2=[2,3,4,2,3,6,4,10]
plt.plot(lista2)
plt.grid(True)#APLICA LA CUADRICULA
plt.show()
Programa 21
from pylab import*#IMPORTA PYLAB
lista1=[20,30,25,34,55,34]
lista2=[18,24,25,34,28,33]
lista3=[56,34,23,56,45,56]
plt.title("VENTAS DEL AÑO")#AGREGA TITULO AL GRAFICO
#AÑADE ETIQUETAS AL GRAFICO CON UN COLOR
plt.plot(lista1,color='b',label="ENERO")#ETIQUETA LISTA 1 COLOR AZUL
plt.plot(lista2,color='g',label="FEBRERO")#ETIQUETA LISTA 2 COLOR VERDE
plt.plot(lista3,color='r',label="MARZO")#ETIQUETA LISTA 3 COLOR ROJO
plt.legend(loc="upper right")#POSICIONA LAS ETIQUETAS ARRIBA A LA DERECHA
'''
upper --> ARRIBA
lower --> ABAJO
center --> ENMEDIO O AL CENTRO
left --> IZQUIERDA
right --> DERECHA
'''
plt.show()#MUESTRA GRAFICAS
Programa 22
from pylab import*
li1=[200,500,300,200,600,400]
li2=[300,400,100,300,500,200]
li3=[200,100,300,250,350 ,400]
plt.title("VENTAS DEL PRIMER TRIMESTRE")
plt.plot(li1)
plt.plot(li2)
plt.plot(li3)
plt.plot(li1,marker = 'x',linestyle= ':',color='b',label="ENERO")
plt.plot(li2,marker = '*',linestyle= '-',color='r',label="FEBRERO")
plt.plot(li3,marker = 'o',linestyle= '--',color='g',label="MARZO")
plt.legend(loc="upper right")
plt.grid(True)
plt.show()
Programa 23
import matplotlib.pyplot as plt
l1=[]
l2=[]
l3=[]
print("LISTA 1 ")
for i in range(5):#PIDE 5 DATOS NUMERICOS Y
l1.append(int(input("DAME EL DATO: ")))
print("LISTA 2")
for i in range(5):
l2.append(int(input("DAME EL DATO: ")))
print("LISTA 3")
for i in range(5):
l3.append(int(input("DAME EL DATO: ")))
plt.plot(l1, label="EDAD 1")
plt.plot(l2, label="EDAD 2")
plt.plot(l3, label="EDAD 3")
plt.grid()#CUADRICULA
plt.legend()
plt.title("EDADES")
plt.xlabel("TIEMPO")
plt.ylabel("EEDAD")
plt.show()
Programa 24
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,10,0.1)
print(x)
y = x*np.cos(x)
print(y)
plt.plot(x,y)
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Y = X*COS(X)')
plt.grid()
plt.show()
Programa 25
import matplotlib.pyplot as plt
import numpy as np
plt.figure()
lista1 = [11,2,3,15,8,13,21,34]
plt.title("GRAFICA")
plt.xlabel("ABSCISA")
plt.ylabel("ORDENADA")
indice = np.arange(8)
plt.xticks(indice, ("A", "B", "C", "D", "E", "F", "G", "H"))
#PONE LETRAS EN LOS VALORES DEL EJE X
plt.yticks(np.arange(0,51,10)) #PONE NUMEROS DE 0 A 50 CAMBIANDO DE 10 EN 10 AL EJE Y
plt.plot(lista1)
plt.show()
Programa 26
import matplotlib.pyplot as plt
import numpy as np
plt.figure()
x=np.linspace(2,8,4)#VECTOR X DE 2 A 8, AUMENTANDO DE 4 EN 4 ([2,4,6,8])
y=x**2#VECTOR AL CUADRADO CON LOS NUMEROS DE X
plt.plot(x,y,'r')a
plt.xlabel('X')
plt.ylabel('Y')
plt.title('GRAFICO')
plt.figure(1)#ACTIVA EL GRAFICO
plt.title('Y=X^2')
plt.show()
Programa 27
import matplotlib.pyplot as plt
import numpy as np
plt.figure('REGIONES')
plt.figure('DISPERSION')
elemx=np.random.rand(10)
elemy=np.random.rand(10)
plt.scatter(elemx,elemy)
plt.figure('REGIONES')#LLAMA A LA GRAFICA
plt.plot(elemx,elemy)
plt.figure('DISPERSION')
plt.xlabel('X')#PONE ETIQUETAS
plt.ylabel('Y')
plt.show()#MUESTRA
Programa 28
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y1=[3,4,5,1,7]
y2=[2,6,8,1,3]
plt.subplot(1,3,1)
plt.plot(x,y1)
plt.subplot(1,3,2)#SUBGRAFICA 2
plt.plot(x,y2)
plt.subplot(1,3,3)#SUBGRAFICA 3
plt.plot(x,y1)
plt.show()#MUESTRA GRAFICAS
Programa 29
import matplotlib.pyplot as plt
import numpy as np
paises=['FRANCIA', 'ALEMANIA', 'ESPAÑA', 'ITALA']
p_y=np.arange(len(paises))
u=(235,321,220,350)#NUMEROS ASOCIADOS A LA LISTA
plt.bar(p_y,u,align="center")
plt.xticks(p_y,paises)#PONE LOS NOMBRES EN EL EJE HORIZONTAL
plt.ylabel('PUNTAJE')
plt.title('EUROCOPA')
plt.show()
plt.barh(p_y,u,align="center")#HACE UNA GRAFICA DE BARRAS HORIZONTAL
plt.yticks(p_y,paises)
plt.xlabel('PUNTAJE')
plt.title('EUROCOPA')
plt.show()
paises=['FRANCIA', 'ALEMANIA', 'ESPAÑA', 'ITALA']
p_y=np.arange(len(paises))
u=(235,321,220,350)
plt.barh(p_y,u,align="center")
plt.yticks(p_y,paises)
plt.xlabel('PUNTAJE')
plt.title('EUROCOPA')
plt.show()
'''
Programa 30
import matplotlib.pyplot as plt
import numpy as np
nombres=[]
calif=[]
for i in range(0,3):
nombres.append(input('NOMBRE: '))
for j in range(0,3):#Y PIDE SUS 3 CALIFICACIONES
calif.append(float(input('CALIFICACION: ')))
print(nombres)
print(calif)
plt.title('CALIFICACIONES')
p_y=np.arange(len(nombres))
plt.xticks(p_y,nombres)
plt.ylabel('CALIFICACION')
plt.plot(calif)
plt.grid()
plt.show()
Programa 31
from matplotlib import pyplot
def f1(x):#FUNCION CUADRATICA
return 2*(x**2) + 5*x -2
def f2(x):#FUNCION LINEAL
return 4*x +1
x=range(-10,15)
pyplot.plot(x,[f1(i) for i in x])
pyplot.plot(x,[f2(i) for i in x])
pyplot.axhline(0,color="black")
pyplot.axvline(0,color="black")#NEGRO
pyplot.xlim(-10,10)
pyplot.ylim(-10,10)
pyplot.savefig('GRAFICA.png')
pyplot.show()
Programa 32
import matplotlib.pyplot as plt
import numpy as np
datos=[[1,2,3,4],[3,5,3,5],[8,6,4,2]]#LISTA CON SUB LISTAS
x=np.arange(4)
plt.bar(x+0.00, datos[0], color="b", width=0.25)
plt.bar(x+0.25, datos[1], color="r", width=0.25)
plt.bar(x+0.50, datos[2], color="g", width=0.25)
plt.xticks(x+0.25,['A','B', 'C', 'D'])
plt.title('MULTIPLES')
plt.show()
Programa 33
import matplotlib.pyplot as plt
import numpy as np
labels=['RANAS', 'DRAGONES','UNICORNIOS', 'SERPIENTE']
sizes=[5,28,31,15]
explode=(0,0,0.1,0)
figl, axl=plt.subplots()
axl.pie(sizes,explode=explode,labels=labels,
autopct='%1.1f%%',shadow=True,startangle=180)
axl.axis=('equal')
plt.show()
Programa 34
import matplotlib.pyplot as plt
import numpy as np
nombres=[]
calif=[]
n=int(input('CUANTAS PERSONAS? '))
for i in range(0,n):
print('SUJETO ', i+1)
nombres.append(input('NOMBRE: '))#PIDE EL NOMBRE
calif.append(float(input('CALIFICACION: ')))#PIDE CALIFICACION
sep=(0.1,0.1,0.1)#SECCIONES SEPARADAS 0.1 VECES EL RADIO
plt.pie(calif, explode=sep, labels=nombres,
autopct='%1.1f%%', shadow=True)
#TOMA LOS ELEMENTOS DE CLIF, HACE LA SEPARACION, PONE EQTIQUETAS A CADA PARTE
#DEL GRAFICO, MUESTRA EL PORCENTAJE
'''
figl, axl=plt.subplots()
axl.pie(calif,explode=explode,labels=nombres,
autopct='%1.1f%%',shadow=True,startangle=180)
'''
plt.show()
Programa 35
import math
var =math.cos(math.pi/4)
print('COSENO π /4 ',var)
print(math.log(1024,2))#MUESTRA EL LOG BASE 2 DE 1024
Programa 36
import math
import random#LIBRERIA RANODM
print(random.choice(['MANZANA', 'PERA', 'PLATANO']))
print(random.sample( range(100), 10 ))
print(random.random())
print(random.randrange(6) )
Programa 37
import math
import statistics#IMORTA LA LIBRERIA STATISTICS
datos=[2.75, 1.75, 1.25, 0.25, 0.5, 1.25,3.5]#LISTA CON NUMEROS FLOAT
print('MEDIA ',statistics.mean(datos))#CALCULA LA MEDIA DE LOS DATOS
print('MEDIANA ', statistics.median(datos))#CALCULA LA MEDIANA
print('VARIANZA ', statistics.variance(datos))#CALCULA LA VARIANZA
Programa 38
import numpy as np
a=np.array( [1,2,3,4] )
a=a+1#SUMA 1 A CADA ENTRADA DEL VECTOR
print(a)
b=np.ones(4)+1
print('SUMA MAS 1 ',b)
a=a-b
print('RESTA ', a)
a=a*b#MULTIPLICACION DE VECTORES (ELEMENTO POR ELEMENTO)
print('MULTIPLICACION ', a)
j=np.arange(5)
print('j', j)
print(2**(j+1) - j)
Programa 39
import numpy as np
c=np.ones( (3,3) )
print('C 1s','\n', c)
c=c*c
print('C MULTIP '+ '\n',c)
c=c*3#MULTIPLICA A LA MATRIZ POR 3
print('C MULTIP X 3'+ '\n',c)
d=c.dot(5)
print('c.dot(5)' + '\n', d)
A=np.array( [[2,4,2],[1,-2,3],[5,0,-1]] )
B=np.array( [[3,-1,-2],[0,5,6],[0,0,9]] )
C=np.array( [[2,0,-1],[0,-1,2],[1,-2,5]] )
print('-A-B+C'+ '\n')
print('A+B-C'+ '\n')
print('3*A + C/2'+ '\n')
print(3*A + (C/2))
Programa 40
import numpy as np
a=np.triu(np.ones ((3,3)),1 )
print(a)
print('TRANSPUESTA')
a=a.T
print(a)
print('===========')
x=np.array([1,2,3,4])
print(np.sum(x))
y=np.array( [[1,1],[2,2]])
print(y.sum(axis=0) )
print(y.sum(axis=1) )
Programa 41
import numpy as np
x=np.array([1,2,3,1])
y=np.array([ [1,2,3],[5,6,1] ])
print('MEDIA ', x.mean())
print('MEDIANA ', np.median(x))
print('MEDIANA 2 ', np.median (y,axis=-1) )
print('X.STD ', x.std)
print('=============')
x=np.array([1,3,2])
print('MIN ', x.min())
print('MAX ', x.max())
print('I MIN ', x.argmin())
print('I MAX ', x.argmax())
print('=============')
print(np.all([True, True, False]))(
printnp.any([True, True, False]))
print('=============')
a=np.zeros((100,100))
print(a)
print(np.any(a!=0))
print(np.all(a==a))
a=np.array([1,2,3,2])
b=np.array([2,2,3,2])
c=np.array([6,4,4,5])
print('A <=B ', a<=b)
print(a, b)
print('B <=C ', b<=c)
print(b, c)
print('FINAL ', ((a<=b) & (b<=c). all() ))
Programa 42
import numpy as np
a = np.tile(np.arange(0, 40, 10), (3, 1))
print('a \n', a)
b = np.array([0, 1, 2]
print('b \n', b)
print('a + b \n', a + b)
a = np.arange(0, 40, 10)
print(a, ' ENRREDADO a ',a.shape)
a = a[:, np.newaxis]
print(' ENRREDADO a ' ,a.shape)
print('a ', a)
print('a + b \n', a + b)
a = np.ones((4, 5))
a[0] = 2
Programa 43
import numpy as np
a=np.array(4)
print('a ', a)
print('a.resize ', a.resize(8,))#
vector=np.array([1,2,3])
print('vector ', vector)
np.shape(vector)
matrix_col=vector[:,np.newaxis]
print('matrix_col ', matrix_col)
print('np.shape(matrix_col) ', np.shape(matrix_col))
matrix_ver=vector[np.newaxis,:]
print('np.shape(matrix_ver) ',np.shape(matrix_ver) )
print('====================')
a=np.array([[1,2],[3,4]])
print(a)
print('np.repeat(a,3) ', np.repeat(a,3))
print('np.tile(a,3) ', np.tile(a,3))
print('====================')
b=np.array([[5,6]])
print('np.concatenate((a,b),axis=0) ' , np.concatenate((a,b),axis=0))
print('np.concatenate((a,b.T),axis=1) ', np.concatenate((a,b.T),axis=1))
print('np.vstack((a,b)) ', np.vstack((a,b)))
print('np.hstack((a,b.T)) ' ,np.hstack((a,b.T)))
Programa 44
import numpy as np
a=np.array([1,0,1,0,0])
b=np.where(a)
print('WHERE ', b)
print('===================================')
a=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
print('DIAGONAL ',np.diag(a))
print('===================================')
a=np.arange(10,16)#NUMEROS DE 10 A 16
print(a)
indices=[1,3,5]
print('TAKE ', np.take(a,indices))
which=[0,0,1,0]
choice=[[-2,-2,-4,-5],[5,6,7,8]]
print(np.choose(which,choice))
x=np.arange(1,10,1)
print(x)
print('LINSAPCE')
print(np.linspace(0,10,25))
print('LOGSPACE')
print(np.logspace(0,10,10,base=np.e))
x,y=np.mgrid[0:5, 0:5]
print('X', x)
print('Y', y)
print('RANDOM')
print(np.random.rand(5,5))
print('OTRO RANDOM')
print(np.random.randn(5,5))
print('MATRIZ DIAGONAL')
print(np.diag([1,2,3]))
print('DESPLAZAMIENTO EN DIAGONAL ')
print(np.diag([1,2,3], k=1))
print('CEROS')
print(np.zeros((3,3)))#
print('UNOS')
print(np.ones((3,3)))
Programa 45
import numpy as np
a=np.array([[1,2,3],[4,5,6]])
print('a.ravel ',a.ravel())
print('a', a)
b=np.array([1,2,3,4,5,6])
print('b', b)
print('b.T, ',b.T)#HACE EL TRANSPUESTO
c=np.array([[1,4],[2,5], [3,6] ])
print('c ', c)
print('c.T.ravel()' ,c.T.ravel())
print('a.shape', a.shape)
print('b.ravel', b.ravel())
print('b.reshape(2,3)', b.reshape(2,3))
a=np.arange(36)
print(a)
b=a.reshape((6,6))
print('a.reshape((6,6)', b)
b=a.reshape((6,-1))
print('a.reshape((6,-1', b)
Proyecto 1
def op1 ():
def archivo():
with open(nombre+'.txt', 'w+') as f:
f.write('MUESTRA' + '\t' + '\t'+ '\t' + '\t' +'LECTURAS' + '\n')
for i in range(muestra):
muest=str(i+1)
f.write(muest)
for j in range(lectura):
dato=cuad[i][j]
dato1=str(dato)
f.write('\t' + '\t' + dato1)
if (j+1)==lectura:
f.write('\n')
f.close()
'''PROMEDIOS GENERALES '''
def promedio (*args):
b=args[0]
for h in b:
lista=h
for k in range(0,len(lista)):
c=k+1
global prome
prome=prome+lista[k]
if c%lectura==0:
promes.append(prome/lectura)
global promg
promg=promg + (prome/lectura)
prome=0
promg=promg/muestra
def rango(z):
for i in z:
r1=max(i)
r2=min(i)
rangoe= r1-r2
rangoesp.append(rangoe)
global rangog
rangog= (rangog + rangoe)
rangog =rangog /muestra
def limites():
global promg, lci, lcs
lci=promg - a2*rangog
lcs=promg + a2*rangog
global rs, ri
rs= rangog*d4
ri= rangog*d3
nombre=input('NOMBRE DEL ARCHIVO: ')
muestra=int(input('NUM DE MUESTRAS: '))
lectura=int(input('NUM DE LECTURAS: '))
while(muestra<=0):
muestra=int(input('NUM DE MUESTRAS: '))
while(lectura<=0):
lectura=int(input('NUM DE LECTURAS: '))
if lectura==2:
a2=1.88
d3=0
d4=3.268
d2=1.128
elif lectura==3:
a2=1.023
d3=0
d4=2.574
d2=1.693
elif lectura==4:
a2=0.729
d3=0
d4=2.282
d2=2.059
elif lectura==5:
a2=0.577
d3=0
d4=2.114
d2=2.326
elif lectura==6:
a2=0.483
d3=0
d4=2.004
d2=2.534
elif lectura==7:
a2=0.419
d3=0.076
d4=1.924
d2=2.704
elif lectura==8:
a2=0.373
d3=0.136
d4=1.184
d2=2.847
elif lectura==9:
a2=0.377
d3=0.184
d4=1.816
d2=2.970
elif lectura==10:
a2=0.308
d3=0.223
d4=1.777
d2=3.078
elif lectura==11:
a2=0.285
d3=0.256
d4=1.744
d2=3.173
elif lectura==12:
a2=0.266
d3=0.284
d4=1.717
d2=3.258
elif lectura==13:
a2=0.249
d3=0.308
d4=1.692
d2=3.336
elif lectura==14:
a2=0.235
d3=0.329
d4=1.671
d2=3.407
elif lectura==15:
a2=0.223
d3=0.348
d4=1.652
d2=3.472
print('a2: ',a2,'d2: ',d2,'d3: ',d3,'d4: ',d4)
for i in range(muestra):
print('')
print('MUESTRA: ', i+1)
cuad.append([])
for j in range(lectura):
print('LECTURA: ', j+1)
dto=float(input('DA EL DATO: ' ))
cuad[i].append(dto)
promes=[]
promg1=[]
lcs1=[]
lci1=[]
rangoesp=[]
rangog1=[]
rs1=[]
ri1=[]
archivo()
promedio(cuad)
rango(cuad)
limites()
tab="{}\t {}\t {}\t {}\t {}\t {}\t".format('PROMEDIO', 'RANGO', 'LIM. INF', 'LIM.SUP', 'RANG.INF', 'RANG. SUP' )
fprom='{0:.2f}'.format(promg)
frang='{0:.2f}'.format(rangog)
flics='{0:.2f}'.format(lcs)
flici='{0:.2f}'.format(lci)
fri='{0:.2f}'.format(ri)
frs='{0:.2f}'.format(rs)
rest="{}\t\t {}\t {}\t\t {}\t\t {}\t\t {}\t".format(fprom, frang, flici, flics, fri, frs )
print(tab)
print(rest)
for u in range(0, muestra):
promg1.append(promg)
lcs1.append(lcs)
lci1.append(lci)
rangog1.append(rangog)
rs1.append(rs)
ri1.append(ri)
plt.figure('PROMEDIOS')
plt.figure('RANGOS')
plt.figure('PROMEDIOS')
plt.plot(promes)
plt.plot(lcs1)
plt.plot(lci1)
indice = np.arange(0,muestra,1)
plt.plot(promes,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(promg1,color='b',marker = 'D',linestyle= '-.',label="X")
plt.plot(lci1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(lcs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice)
plt.grid(True)
plt.title(' GRAFICA DE PROMEDIOS ')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.figure('RANGOS')
plt.plot(rangoesp)
plt.plot(rs1)
plt.plot(ri1)
indice1 = np.arange(0,muestra,1)
plt.plot(rangoesp,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(rangog1,color='b',marker = 'D',linestyle= '-.',label="R")
plt.plot(ri1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(rs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice1)
plt.grid(True)
plt.title(' GRAFICA DE RANGOS')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.show()
def op2 ():
nombre2= input('COMO SE LLAMA EL ARCHIVO? ')
lectmat=[]
lectrech=[]
lecmu=[]
s1=0
s2=0
s3=0
promes=[]
promg1=[]
lcs1=[]
lci1=[]
rangog1=[]
rs1=[]
ri1=[]
nmues=[]
matrang=[]
with open(nombre2+'.txt',"r+") as f:
cont=f.read()
print(cont)
l=cont.split('\n')
for i in range(1,len(l)):
lect=l[i].split('\t')
for j in range(len(lect)):
dto=lect[j]
if dto=='':
dto=float(0)
dto=float(dto)
if dto==0.0:
lectrech.append(dto)
else:
lectmat.append(dto)
del lectrech
for k in lectmat:
s1=s1+1
for n in range(len(lectmat)):
if k == n:
lecmu.append(s1)
delta=((lecmu[-1]-lecmu[-2])-1)
nmues= lectmat[0::delta+1]
del lectmat[0::delta+1]
n1=nmues[-1]
for i in lectmat:
s2=s2+i
if delta==2:
a2=1.88
d3=0
d4=3.268
d2=1.128
elif delta==3:
a2=1.023
d3=0
d4=2.574
d2=1.693
elif delta==4:
a2=0.729
d3=0
d4=2.282
d2=2.059
elif delta==5:
a2=0.577
d3=0
d4=2.114
d2=2.326
elif delta==6:
a2=0.483
d3=0
d4=2.004
d2=2.534
elif delta==7:
a2=0.419
d3=0.076
d4=1.924
d2=2.704
elif delta==8:
a2=0.373
d3=0.136
d4=1.184
d2=2.847
elif delta==9:
a2=0.377
d3=0.184
d4=1.816
d2=2.970
elif delta==10:
a2=0.308
d3=0.223
d4=1.777
d2=3.078
elif delta==11:
a2=0.285
d3=0.256
d4=1.744
d2=3.173
elif delta==12:
a2=0.266
d3=0.284
d4=1.717
d2=3.258
elif delta==13:
a2=0.249
d3=0.308
d4=1.692
d2=3.336
elif delta==14:
a2=0.235
d3=0.329
d4=1.671
d2=3.407
elif delta==15:
a2=0.223
d3=0.348
d4=1.652
d2=3.472
print('a2: ',a2,'d2: ',d2,'d3: ',d3,'d4: ',d4, 'LECTURAS: ', delta, ' MUESTRAS: ',n1 )
for r in range(len(lecmu)):
a=lectmat[delta*r: delta*r +delta]
promes.append(sum(a)/delta)
matrang.append(max(a)-min(a))
for s in matrang:
s3=s3+s
s3=s3/(n1)
global promg, rangog, lcs,lci,ri,rs
promg =s2 /(delta * n1)
rangog=s3
#print(promg)
tab="{}\t {}\t {}\t {}\t {}\t {}\t".format('PROMEDIO', 'RANGO', 'LIM. INF', 'LIM.SUP', 'RANG.INF', 'RANG. SUP' )
fprom='{0:.2f}'.format(promg)
frang='{0:.2f}'.format(rangog)
flics='{0:.2f}'.format(promg + a2*rangog)
flici='{0:.2f}'.format(promg - a2*rangog)
fri='{0:.2f}'.format(rangog*d3)
frs='{0:.2f}'.format(rangog*d4)
rest="{}\t\t {}\t {}\t\t {}\t\t {}\t\t {}\t".format(fprom, frang, flici, flics, fri, frs )
print(tab)
print(rest)
for u in range (0,int(n1)):
promg1.append(promg)
lcs1.append(promg + a2*rangog)
lci1.append(promg - a2*rangog)
rangog1.append(s3)
rs1.append(rangog*d4)
ri1.append(rangog*d3)
plt.figure('PROMEDIOS')
plt.figure('RANGOS')
plt.figure('PROMEDIOS')
plt.plot(promes)
plt.plot(lcs1)
plt.plot(lci1)
indice = np.arange(0,n1,1)
plt.plot(promes,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(promg1,color='b',marker = 'D',linestyle= '-.',label="X")
plt.plot(lci1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(lcs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice)
plt.grid(True)
plt.title(' GRAFICA DE PROMEDIOS ')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.figure('RANGOS')
plt.plot(matrang)
plt.plot(rs1)
plt.plot(ri1)
indice1 = np.arange(0,n1,1)
plt.plot(matrang,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(rangog1,color='b',marker = 'D',linestyle= '-.',label="R")
plt.plot(ri1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(rs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice1)
plt.grid(True)
plt.title(' GRAFICA DE RANGOS')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.show()
import matplotlib.pyplot as plt
import numpy as np
cuad=[]
prome=0
promg=0
lis=0
lii=0
rangog=0
lcs=0
lci=0
ri=0
rs=0
a2=0
d2=0
d3=0
d4=0
print ("QUE QUIERES? ")
print('1.- CALCULO POR INGRESO ')
print('2.- CALCULO POR LECTURA ')
opc= int(input())
if opc==1:
op1()
if opc==2:
op2()
while opc !=1 and opc!=2:
opc= int(input('INGRESA BIEN '))
if opc==1:
op1()
if opc==2:
op2()
def op1 ():
def archivo():
with open(nombre+'.txt', 'w+') as f:
f.write('MUESTRA' + '\t' + '\t'+ '\t' + '\t' +'LECTURAS' + '\n')
for i in range(muestra):
muest=str(i+1)
f.write(muest)
for j in range(lectura):
dato=cuad[i][j]
dato1=str(dato)
f.write('\t' + '\t' + dato1)
if (j+1)==lectura:
f.write('\n')
f.close()
'''PROMEDIOS GENERALES '''
def promedio (*args):
b=args[0]
for h in b:
lista=h
for k in range(0,len(lista)):
c=k+1
global prome
prome=prome+lista[k]
if c%lectura==0:
promes.append(prome/lectura)
global promg
promg=promg + (prome/lectura)
prome=0
promg=promg/muestra
def rango(z):
for i in z:
r1=max(i)
r2=min(i)
rangoe= r1-r2
rangoesp.append(rangoe)
global rangog
rangog= (rangog + rangoe)
rangog =rangog /muestra
def limites():
global promg, lci, lcs
lci=promg - a2*rangog
lcs=promg + a2*rangog
global rs, ri
rs= rangog*d4
ri= rangog*d3
nombre=input('NOMBRE DEL ARCHIVO: ')
muestra=int(input('NUM DE MUESTRAS: '))
lectura=int(input('NUM DE LECTURAS: '))
while(muestra<=0):
muestra=int(input('NUM DE MUESTRAS: '))
while(lectura<=0):
lectura=int(input('NUM DE LECTURAS: '))
if lectura==2:
a2=1.88
d3=0
d4=3.268
d2=1.128
elif lectura==3:
a2=1.023
d3=0
d4=2.574
d2=1.693
elif lectura==4:
a2=0.729
d3=0
d4=2.282
d2=2.059
elif lectura==5:
a2=0.577
d3=0
d4=2.114
d2=2.326
elif lectura==6:
a2=0.483
d3=0
d4=2.004
d2=2.534
elif lectura==7:
a2=0.419
d3=0.076
d4=1.924
d2=2.704
elif lectura==8:
a2=0.373
d3=0.136
d4=1.184
d2=2.847
elif lectura==9:
a2=0.377
d3=0.184
d4=1.816
d2=2.970
elif lectura==10:
a2=0.308
d3=0.223
d4=1.777
d2=3.078
elif lectura==11:
a2=0.285
d3=0.256
d4=1.744
d2=3.173
elif lectura==12:
a2=0.266
d3=0.284
d4=1.717
d2=3.258
elif lectura==13:
a2=0.249
d3=0.308
d4=1.692
d2=3.336
elif lectura==14:
a2=0.235
d3=0.329
d4=1.671
d2=3.407
elif lectura==15:
a2=0.223
d3=0.348
d4=1.652
d2=3.472
print('a2: ',a2,'d2: ',d2,'d3: ',d3,'d4: ',d4)
for i in range(muestra):
print('')
print('MUESTRA: ', i+1)
cuad.append([])
for j in range(lectura):
print('LECTURA: ', j+1)
dto=float(input('DA EL DATO: ' ))
cuad[i].append(dto)
promes=[]
promg1=[]
lcs1=[]
lci1=[]
rangoesp=[]
rangog1=[]
rs1=[]
ri1=[]
archivo()
promedio(cuad)
rango(cuad)
limites()
tab="{}\t {}\t {}\t {}\t {}\t {}\t".format('PROMEDIO', 'RANGO', 'LIM. INF', 'LIM.SUP', 'RANG.INF', 'RANG. SUP' )
fprom='{0:.2f}'.format(promg)
frang='{0:.2f}'.format(rangog)
flics='{0:.2f}'.format(lcs)
flici='{0:.2f}'.format(lci)
fri='{0:.2f}'.format(ri)
frs='{0:.2f}'.format(rs)
rest="{}\t\t {}\t {}\t\t {}\t\t {}\t\t {}\t".format(fprom, frang, flici, flics, fri, frs )
print(tab)
print(rest)
for u in range(0, muestra):
promg1.append(promg)
lcs1.append(lcs)
lci1.append(lci)
rangog1.append(rangog)
rs1.append(rs)
ri1.append(ri)
plt.figure('PROMEDIOS')
plt.figure('RANGOS')
plt.figure('PROMEDIOS')
plt.plot(promes)
plt.plot(lcs1)
plt.plot(lci1)
indice = np.arange(0,muestra,1)
plt.plot(promes,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(promg1,color='b',marker = 'D',linestyle= '-.',label="X")
plt.plot(lci1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(lcs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice)
plt.grid(True)
plt.title(' GRAFICA DE PROMEDIOS ')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.figure('RANGOS')
plt.plot(rangoesp)
plt.plot(rs1)
plt.plot(ri1)
indice1 = np.arange(0,muestra,1)
plt.plot(rangoesp,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(rangog1,color='b',marker = 'D',linestyle= '-.',label="R")
plt.plot(ri1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(rs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice1)
plt.grid(True)
plt.title(' GRAFICA DE RANGOS')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.show()
def op2 ():
nombre2= input('COMO SE LLAMA EL ARCHIVO? ')
lectmat=[]
lectrech=[]
lecmu=[]
s1=0
s2=0
s3=0
promes=[]
promg1=[]
lcs1=[]
lci1=[]
rangog1=[]
rs1=[]
ri1=[]
nmues=[]
matrang=[]
with open(nombre2+'.txt',"r+") as f:
cont=f.read()
print(cont)
l=cont.split('\n')
for i in range(1,len(l)):
lect=l[i].split('\t')
for j in range(len(lect)):
dto=lect[j]
if dto=='':
dto=float(0)
dto=float(dto)
if dto==0.0:
lectrech.append(dto)
else:
lectmat.append(dto)
del lectrech
for k in lectmat:
s1=s1+1
for n in range(len(lectmat)):
if k == n:
lecmu.append(s1)
delta=((lecmu[-1]-lecmu[-2])-1)
nmues= lectmat[0::delta+1]
del lectmat[0::delta+1]
n1=nmues[-1]
for i in lectmat:
s2=s2+i
if delta==2:
a2=1.88
d3=0
d4=3.268
d2=1.128
elif delta==3:
a2=1.023
d3=0
d4=2.574
d2=1.693
elif delta==4:
a2=0.729
d3=0
d4=2.282
d2=2.059
elif delta==5:
a2=0.577
d3=0
d4=2.114
d2=2.326
elif delta==6:
a2=0.483
d3=0
d4=2.004
d2=2.534
elif delta==7:
a2=0.419
d3=0.076
d4=1.924
d2=2.704
elif delta==8:
a2=0.373
d3=0.136
d4=1.184
d2=2.847
elif delta==9:
a2=0.377
d3=0.184
d4=1.816
d2=2.970
elif delta==10:
a2=0.308
d3=0.223
d4=1.777
d2=3.078
elif delta==11:
a2=0.285
d3=0.256
d4=1.744
d2=3.173
elif delta==12:
a2=0.266
d3=0.284
d4=1.717
d2=3.258
elif delta==13:
a2=0.249
d3=0.308
d4=1.692
d2=3.336
elif delta==14:
a2=0.235
d3=0.329
d4=1.671
d2=3.407
elif delta==15:
a2=0.223
d3=0.348
d4=1.652
d2=3.472
print('a2: ',a2,'d2: ',d2,'d3: ',d3,'d4: ',d4, 'LECTURAS: ', delta, ' MUESTRAS: ',n1 )
for r in range(len(lecmu)):
a=lectmat[delta*r: delta*r +delta]
promes.append(sum(a)/delta)
matrang.append(max(a)-min(a))
for s in matrang:
s3=s3+s
s3=s3/(n1)
global promg, rangog, lcs,lci,ri,rs
promg =s2 /(delta * n1)
rangog=s3
#print(promg)
tab="{}\t {}\t {}\t {}\t {}\t {}\t".format('PROMEDIO', 'RANGO', 'LIM. INF', 'LIM.SUP', 'RANG.INF', 'RANG. SUP' )
fprom='{0:.2f}'.format(promg)
frang='{0:.2f}'.format(rangog)
flics='{0:.2f}'.format(promg + a2*rangog)
flici='{0:.2f}'.format(promg - a2*rangog)
fri='{0:.2f}'.format(rangog*d3)
frs='{0:.2f}'.format(rangog*d4)
rest="{}\t\t {}\t {}\t\t {}\t\t {}\t\t {}\t".format(fprom, frang, flici, flics, fri, frs )
print(tab)
print(rest)
for u in range (0,int(n1)):
promg1.append(promg)
lcs1.append(promg + a2*rangog)
lci1.append(promg - a2*rangog)
rangog1.append(s3)
rs1.append(rangog*d4)
ri1.append(rangog*d3)
plt.figure('PROMEDIOS')
plt.figure('RANGOS')
plt.figure('PROMEDIOS')
plt.plot(promes)
plt.plot(lcs1)
plt.plot(lci1)
indice = np.arange(0,n1,1)
plt.plot(promes,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(promg1,color='b',marker = 'D',linestyle= '-.',label="X")
plt.plot(lci1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(lcs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice)
plt.grid(True)
plt.title(' GRAFICA DE PROMEDIOS ')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.figure('RANGOS')
plt.plot(matrang)
plt.plot(rs1)
plt.plot(ri1)
indice1 = np.arange(0,n1,1)
plt.plot(matrang,color='r',marker = 's',linestyle= ':',label="PROM")
plt.plot(rangog1,color='b',marker = 'D',linestyle= '-.',label="R")
plt.plot(ri1,color='m',marker = 'x',linestyle= '--',label="LCI")
plt.plot(rs1,color='g',marker = '^',linestyle= '-',label="LCS")
plt.xticks(indice1)
plt.grid(True)
plt.title(' GRAFICA DE RANGOS')
plt.xlabel('MUESTRAS ')
plt.legend(loc="upper right")
plt.show()
import matplotlib.pyplot as plt
import numpy as np
cuad=[]
prome=0
promg=0
lis=0
lii=0
rangog=0
lcs=0
lci=0
ri=0
rs=0
a2=0
d2=0
d3=0
d4=0
print ("QUE QUIERES? ")
print('1.- CALCULO POR INGRESO ')
print('2.- CALCULO POR LECTURA ')
opc= int(input())
if opc==1:
op1()
if opc==2:
op2()
while opc !=1 and opc!=2:
opc= int(input('INGRESA BIEN '))
if opc==1:
op1()
if opc==2:
op2()
Proyecto 2 (examen)
import numpy as np
import statistics as st
import matplotlib.pyplot as plt
d_lis=[]
z=True
while z:
d=int(input("Cuantos datos seran: \n"))
if d<15:
print("Tienen que ser mas de 15 datos bro ;)")
else:
z=False
for i in range(d):
print(""+str(i+1)+"° dato: \n")
d=float(input())
d_lis.append(d)
d=np.array(d_lis)
n=1/len(d)
media=st.mean(d)
mediana=st.median(d)
desviacion=0
dmd=0
varianza=0
rango=0
print("Datos capturados: ", "\n",d)
print("\n")
print("Media: ", "{0:.2f}".format(media))
print("Mediana: ", "{0:.2f}".format(mediana) )
print("Moda: ", "{0:.2f}".format(st.mode(d)))
desviacion= st.pstdev(d)
for k in d:
dmd=dmd + (n*abs(k-mediana))
varianza=st.variance(d)
rango=max(d)- min(d)
print('\n')
print('[Datos de Dispersion] \n')
print('[Desviacion estandar]: ', '{0:.4f}'.format(desviacion))
print('[Desviacion media]: ', '{0:.4f}'.format(dmd))
print('[Varianza]: ', '{0:.4f}'.format(varianza))
print('[Rango]: ' , rango)
lis1=[]
lis2=[]
lis3=[]
lis4=[]
lis5=[]
for x in range(len(d)):
lis1.append(desviacion)
lis2.append(dmd)
lis3.append(varianza)
lis4.append(rango)
lis5.append(media)
a1=[rango, varianza]
a=tuple(a1)
plt.figure("1")
plt.figure("2")
plt.figure("3")
plt.figure("1")
plt.title(" Resultados 1 ")
plt.xlabel('Datos')
indice1=np.arange(0,len(d),1)
i1=np.arange(0,len(d),1)
plt.xticks(i1)
plt.grid(True)
plt.plot(d)
plt.plot(lis5,color='purple',marker = '*',linestyle= '--',label="Media ")
plt.plot(d,color='cyan',marker = 'x',linestyle= '-.',label="Datos")
plt.legend(loc="upper right")
plt.figure("2")
plt.title(" Resultados 2 ")
b=["Varianza","D. estandar","D. media","Rango"]
b1=[varianza,desviacion,dmd,rango]
i2=np.arange(len(b))
a=tuple(b1)
plt.bar(i2,a,color="cyan",align="center")
plt.xticks(i2,b)
plt.grid(True)
plt.ylabel('Valor')
plt.figure("3")
plt.title(" Resultados 3")
metc=["Media", "Moda", "Mediana"]
val=[media,st.mode(d),mediana]
explode=(0,0.1,0)
plt.pie(val,explode=explode,labels=metc,startangle=270)
plt.axis("equal")
plt.legend(val)
plt.show()
No hay comentarios.:
Publicar un comentario