Programas unidad III

Algebra1

from sympy import I, simplify   #simplifica la operacion de numeros complejos
print(simplify ((1 + I)/(1+2*I)))



from sympy import I, simplify
print(simplify ((2 - I)-(6+2*I)))



from sympy import I, simplify
print(simplify ((3 + 2*I)*(1-5*I)))



Algebra2
                           
#sirve par conjugar ---- operacioines con numeros complejos
from sympy import arg, conjugate, sqrt, I
from math import *           #hay infinidad de librerias por eso se pone el
#asterisco porque no se define cuales mas usaremos
#no resuelve la operacion la deja solo simplificada
#sin la libreria de math solo nos da un resultado expresado pero sin decimales

a=sqrt(3)+ I

print(conjugate(a))
print(abs(a))
print(arg(a))

c=arg(a). evalf ()     #evalua arcotangente
print(c)


Algebra3

from sympy import Symbol ,E,I,re
x= Symbol ('x', real = True )
a=E **(I*x)   #E= euler
b=a. expand ( complex = True )
print(b)

c=a **3
d=c. expand ( complex = True ). expand ( trig = True )  
 #expand-- para desasrrollar expresiones 
print(d)
print(re(d))


f=c. expand ( complex = True )
print(re(f))
res=(re(f)-re(d)). expand ( trig = True )
print(res)


Algebra4

from sympy import Symbol , solve  I      #resuelve---- para raices cuadradas
x= Symbol ('x')       #guardamos el simbolo
print(solve (x**4 -1 ,x))        #ponemos adentro del print la funcion que se
#va a resolver

# Si el resultado esperado es muy amplio podemos guardarlo en una lista.


Algebra5

from sympy import Symbol , solve,I #se agrega el numero complejo
x= Symbol ('x ')
print(solve (x**4 -1 ,x))
#es diferente
a= solve (x**4 -I,x)
print(a) #en ves de ponerlo adentro del print lo guardamos en una variable
#luego imprimimos


Algebra6

# y luego podemos usar un bucle para, por ejemplo, obtener los valores numericos
# de cada una de las soluciones:
from sympy import Symbol , solve,I
x= Symbol ('x')
print(solve (x**4 -1 ,x))
#es diferente
a= solve (x**4 -I,x)
#print(a)
for b in a:
 print(b. evalf ())


Algebra7

from pylab import*              #from siempre va en la prikmer linea
#importando playlab que es en donde se encuentra todo
#lo de ploteo
lista1= [11,2,3,15,8,13,21,34]                 #estos son los valores de y
#cuando lso graficamos los indices se dan solos
#aqui estamos delcarando la lista q son los elementos de la grafica

plt.plot(lista1)

#le estamos diciendo que dibujelos puntos en x y  Y
plt.show()                         #sirve para mostar la grafica



Algebra8

from pylab import *

plt.ioff()       #desactiva modo interectivo
lista3=[9,15,9,15,9,15,9,15]
plt.plot(lista3)       #no dibuja datos  de lista3
plt.show()         #fuerza dibujo de datos de lista3
plt.tittle("Grafica")
plt.show()
plt.grid(True)
plt.show()
plt.ion()


Algebra9

cadena="teXto"
print(cadena)
print(cadena[1])
print(len(cadena))           #cuenta los numeros de letras de la palabra
print(cadena.lower())

print(cadena.upper())
numero=7.9867
print(str(numero))
print("numero %s"%num[0])
var1="hola"
var2="alan"
#var3=var1+var2
print(var1+'  '+var2)             #las comillas significan espacios


Fprueba

def prueba_ambitos():
 def hacer_local():
  algo="algo local"
 def hacer_nonlocal():
  nonlocal algo
  algo="algo no local"
 def hacer_global():
  global algo
  algo="algo global"
 algo="algo de prueba"
 hacer_local() #le dice que vaya a la funcion local pero no imprima

 #lo que se encuentra aya sino el primer algo asociada a el
 print("luego de la asignacion local:",algo)
 hacer_nonlocal() #funcion nonlocal se especifica adentro de la funcion

 #pero no es local ni global entonces este si se va a su funcion por ser noncal
 #y poder moverse libremente dentro de la funcion

 print("luego de la asignacion no local:",algo)
 hacer_global() #se va a la funcion global pero como no es global dentro de la funcion

 #entonces se va a una anteorior a la nonlocal

 print("luego de la asignacion global:",algo) #la variable global funciona

 #en todo el progrma

prueba_ambitos()
print("en asignacion global:",algo) #se va a la funcion prueba de ambitos  y extrae
# a la unica funcion es es global y la imprime  



Funcion class3.1

class Perro:

 tipo = 'canino'      #variable de clase compartida
                   #instancias
 raza='chihuahua'                  
 def __init__(self, nombre):
  self.nombre=nombre        #variables de instancia unica
                       #para la instancia
d = Perro('honey')
e = Perro('Sharpie')
f=Perro('candy')
print(d.nombre)
print(d.tipo)          #se imprime lo mismo si  solo se pone cualquier caracter

#y lo que esta definido arriba

print(e.nombre)
print(e.tipo)

#todas las classes empiezan con mayusculas
#y todas las contantes van en mayusculas
#clase es generico


Frecursiva

class MiClase:
 """Simple clase de ejemplo"""
 i=12345                  #INSTANCIAS DE LA CLASE
 f='hola mundo'

print("simple", MiClase.i)
print("simple en f", MiClase.f)

class Complejo:
 def ___init__(self, partereal, parteimaginaria):
  self.r = partereal
  self.i = parteimaginaria

x=Complejo(3.0, -4.5)    #herencia

print(x.r)
print(x.i)

#     class ariadna(apellido)
#     self.h=apellido
#     self.am=cardoza
# hijo=ariadna(ocañas)
#print(hijo.h + "" +hijo.am


Funcion1

def juega(intento=1):
 respuesta=str(input("¿De que color es una mora azul?"))
 if respuesta != "azul" and respuesta != "Azul" :
  in intento < 3:
   print("\n Creo que no")
   intento +=1
   juega(intento)         #Llamada cursiva
   else:
    print("\nPierdes!")
    intento +=1


Frecursiva2

 #es aquella que dentro de la funcion se buelbe a llama a ella misma.
def juega(intento=1):
 respuesta=str(input("de que colo es la mora azul? "))
 #res=string.lower(respuesta)
 #print(res)

 if respuesta != "azul" and respuesta !="azul":
  if intento < 3:
   print ("\n creo que no ")
   intento +=1
   juega(intento)        #llamada recursiva
  else:
   print("\nPierdes!" )
 else:
  print("\nGanas!" )
juega()


Fclass

class Perro:

 tipo = 'canino'        #variable de clase compartida
                   #instancias
 raza='chihuahua'                  
 def __init__(self, nombre):
  self.nombre=nombre         #variables de instancia unica
                       #para la instancia
d = Perro('honey')
e = Perro('Sharpie')
f=Perro('candy')
print(d.nombre)
print(d.tipo)
print(e.nombre)
print(e.tipo)

#todas las classes epiecan con mayusculas
#y todas las constantes van en mayusculas
#clase es generico


Fclassdomestico

class Domestico:

 mascota='perro'
 color='cafe'
 tamaño='chico'
 familia='la del j j'

 def __init__(self, mascota,color,tamaño,familia):
  self.mascota=mascota
  self.color=color
  self.tamaño=tamaño
  self.familia=familia

d= Domestico('mas')
e= Domestico('cafe')
f= Domestico('c')
g= Domestico('familia del j j')
print(d.mascota)
print(e.color)
print(f.tamaño)
print(g.familia)



for1

for i in range(5):                  #se imprime 0,1,2,3,4
 print(i)


for2

x=1
if(x<20):
 x=0
 print("negativo cambiado a cero")
elif(x==0):
 print("cero")
elif(x==1):
 print("sencillo")
else:
 print("mas")

palabras=["gatos","ventana","defensas"] 
for w in palabras:
 print(w,len(w))


for3

for i in range(5): print(1)
a=["maria","tenia","un","corderito"]
for c in range(len(a)):
 print("%d %s"%(c,a[c]))

for lt in a[0]: #recorres la cadena 
 print(lt)
#poner m a r i a
 


for4


for n in range(2,10):
 for x in range(2,n):
  if((n%x)==0):
   print("n%d igual a %d* %d"%(n,x,x//x))
   break #sale del ciclo en el que encuentra inicialmente
  else:
   print("n es primo %d"%(n))
  #print("el valor de n es %d y el de x es %d %(n,x)")

#n=int(input("dame un numero:"))
#for n in range(1,11):  
 # for x in range(1,n):
 #  print("la tabla de mutilicacion es:",x*n)

num=int(input("dame un numero para una tabla:"))
for x in range(num,num+6):
 for i in range(1,10):
  print("%d * %d = %d"%(x,i,x*i))
 print()
 #tabla del numero que sea 
  

for5

for num in range(2,10):
 if (num%2==0):
  print("par %d"%(num))
  continue #salta la siguiente linea que seria lo mismo que con un else
 print("impar %d"%(num))


primerfor

#primer for
print("inicio")
for i in [0,1,2]:           #imprime 3 veces hola
 print("hola",end="")
print()
print("final")
print()


segundofor

print("inicio")
for i in [1,1,1]:
 print("hola2",end="")

print()
print("final")


print()



tercerfor

print("inicio")
for i in []:
 print("hola",end="")

print()
print("final")
print()


cuartofor

print("inicio")
for i in [3,4,5]:
 print("hola4 %d"%(i))            #imprime hola y despues ponle  3 4 5 al lado de 
 #lo que imprimio

print()
print("final")


quintofor

print("inicio")
for i in ["daniel","david",100]:      #me va imprimiendo al lado de los hola5
 #daniel luego david y por ultimo 100
 print("hola5 %s"%(i))

print()
print("final")


sextofor

print("inicio")
for numero in [1,2,3,4,5]:
 print(" %d * %d = %d"%(numero,numero,numero**2))         #va multiplicando 

print()
print("final")


septimofor

for i in "daniel":
 print("DAME UNA %s"%(i))

print()
print("que dice %s"%("daniel"))
print("mas fuerte %s"%("daniel"))
print("tres veces")
for I in [1,1,1]:
 print("daniel")


listaforuno

for i in range(5):
 print(i) 


a=['maria','tenia','un ','corderito']
for c in range(len(a)):      #termina asta longitud de a que seria 0,1,2,3
 print("%d %s"%(c,a[c]))      
        #declaro un decimal y una cadena para que me lo
 #imprima de esta forma 0 maria y a[c] para que imprima cada posicion
 #de la cadena por ejemplo maria, tenia, un, corderito y a cada uno
 #poniendole su posicion

#poner m a r i a
for m in (range(len(a[0]))):     #ponemos que se imprimira desde m que es la primera 

 #letra de maria hasta el final de maria  m   a  r  i  a 
 print("%d %s"%(m,a[0][m])) #lo imprimimos con un decimal y una cadena
 #pondra el numero de la posicion de la letra de la palabra maria
 #0 = m
 #1 = a
 #2 = r
 #3 = i
 #4 = a
 # y a[0][m] pondra las letras al lado de su posicion
for m in a[0]:        #luego le decimos de la longitud de m que es = a 5
 #se imprima  0 a 5 veces it
 print('it')


cadenauno

cadena="TeXto"print(cadena)
print(cadena[1])      #imprime la posicion una de la palabra texto = e
print(len(cadena))       #imprime la longitud de la cadena = 5

print(cadena.lower())           #lower te lo convierte de mayuscula en minuscula
#print(cadena[1]=cadena.upper())
print()
print(cadena.upper())       #upper todas las palabras las hace mayusculas
numero=7.9867
#num=str(numero)
#print(num[0])
print(str(numero))         #str------convierte string a cadena de cadena a numero----- int

var1="hola"
var2="alan"
#var3=var1 + var2
print(var1+' '+var2) #se ponen '' para dejar espacio en las palabras



cadena2
                                          
s="juan daniel muñoz ballin"
for c in s: #aparece en lista porque el for va checando de 1 po 1.
 print(c)
print("hecho") #in---------sirve para buscar dentro
print()


cadena3

cad="quiero ser astronauta cuando sea grande"
for pal in cad.split():        #el split imprime la palabra y no la pura letra
 print(pal)     #split-----por defaul es espacio en blanco. separa cadenas en cada posicion de lista
print("echo")
print()


cadena4

for pal in cad.split("a"):         #da un salto de linea cuando se 
 #encuentra una 'a' y tambien quita las 'a'

 print(pal)
print("echo")
print()


cadena5

actividad="natacion"         #si aqui ponemos una palabra que tiene la lista
#de mentira entonces imprime mentiroso  mentiroso
#sino esta dentro de la lista de mentira entonces imprime 'bien por ti'

mentira=['matematicas','esqui','montar','motocicleta','pool']
if actividad in mentira:
 print("mentiroso,mentiroso")
else:
 print("bien por ti")


Ejercicio de tarea 


from pylab import *
muestra=[[1010,991,985,986],[995,996,1009,994],[990,1003,1015,1008],[1015,1020,1009,998],[1013,1019,1005,993],[994,1001,994,1005],[989,992,982,1020],[1001,986,996,996],[1006,989,1005,1007],[992,1007,1006,979],[996,1006,997,989],[1019,996,992,998],
[981,991,989,1020],[1015,993,988,984],[1023,1008,1005,982]]
suma=0

for i in range(len(muestra)):
 for j in range(4):
  suma=suma+muestra[i][j]
  j=j+1
 muestra[i].append(max(muestra[i])-min(muestra[i]))
 muestra[i].append(suma/4)
 i=i+1
 suma=0


print("N° Muestra                Lecturas (En OHMS)        RANG    PROM" )
 
for i in range(len(muestra)):
 print("     ",i+1,"       ",end="")
 for j in range(6):
  print("    ",muestra[i][j],end="")
  j=j+1
 i=i+1
 print()

sup=0
for i in range(len(muestra)):
 sup=sup+muestra[i][5]
 i=i+1
prop=sup/(len(muestra))
print()
sur=0
for i in range(len(muestra)):
 sur=sur+muestra[i][4]
 i=i+1
pror=(sur/len(muestra))
print("                                              Prom    %3.2f   %3.2f" %(pror,prop))
lcs=prop+(0.729*pror)
lcs1=2.282*pror
print("                                               LCS    %3.2f   %3.2f" %(lcs,lcs1))
lci=prop-(0.729*pror)
lci1=0*pror
print("                                               LCI    %3.2f   %3.2f" %(lci,lci1))
Prom=[0]
lCS=[0]
lCI=[0]
X=[0]
for i in range(len(muestra)):
 Prom.append(muestra[i][5])
 lCS.append(lcs)
 X.append(prop)
 lCI.append(lci)
 i=i+1
plt.ylabel("lecturas en OHMS")
plt.xlabel("N° Muestra ")
plt.plot(Prom,label="PROM", marker="s", linestyle="-", color="b")
plt.plot(X,label="X", marker="D", linestyle="-", color="g")
plt.plot(lCS,label="LCS", marker="^", linestyle="-", color="r")
plt.plot(lCI,label="LCI", marker="x", linestyle="-", color="c")
plt.legend(loc="lower left")
plt.show()

plt.figure() 

Prom1=[0]
lCS1=[0]
lCI1=[0]
R=[0]

for i in range(len(muestra)):
 Prom1.append(muestra[i][4])
 lCS1.append(lcs1)
 R.append(pror)
 lCI1.append(lci1)
 i=i+1

plt.ylabel("lecturas en OHMS")
plt.xlabel("N° Muestra ")
plt.plot(Prom1,label="PROM", marker="s", linestyle="-", color="b")
plt.plot(R,label="R", marker="D", linestyle="-", color="g")
plt.plot(lCS1,label="LCS", marker="^", linestyle="-", color="r")
plt.plot(lCI1,label="LCI", marker="x", linestyle="-", color="c")
plt.legend(loc="lower left")
plt.show()


Randomuno

import random             #importamos de la libreria random, random
print(random.random()) 
print(random.randrange(10,100))             

#meda un numero aleatorio entre 10 y 100
#nunca guardar un programa con random.py porque usuarias el nombre
#de una libreria


Graficauno

from pylab import *
import numpy as np

matriz=[]
matriz2=[]
matriz3=[]
print ("         GRAFICA DE PROMEDIOS Y RANGOS       ")
no_muestra=(int(input("dame el numero de muestras a calcular: ")))
x=no_muestra
col=(int(input("dame el numero de datos por fila a calcular: ")))
y=col

suma=0
promedio=0


for i in range(x):
 matriz.append([0]* y)



for f in range(x):
  for c in range(y):
   matriz[f][c]=int(input("elemto %d, %d : " %(f, c)))
  #suma= suma + matriz[f][f]                                                         
print(matriz)


 #imprimir promedio
for i in range(x):
 matriz2.append([0]* y)


for f in range(x):
  for c in range(y):
   #suma= suma + matriz[f]
  
   promedio= suma/y
   matriz2[f]=promedio
print(matriz2)



                                        
for i in range(x):
 matriz3.append([0]* y)


for f in range(x):
  for c in range(y):
   mayor=max(matriz[f])
   menor=min(matriz[f]) 
   rango=(mayor-menor)
   matriz3[f]=rango
print(matriz3)



contraseñauno

usuario=input("dame tu nombre: ")
for i in []:
 print(input("dame tu nombre",usuario),input("contraseña"))

print()
print("final")

x=len(usuario)         #longitud del nombre del usuario que se insertara

if (x>6):               #cuando el tamaño del nombre pasa de 6 se imprime incorrecto
 print("usuario incorrecto")

else:
  print("usuario correcto")


contraseñados

def contraa(intento=1):

 print("\n--Bien benido--")
 print("--introduce tu contraseña para accesar--")
 respuesta = str(input("contraseña: "))

 if respuesta != "daniel":
  if intento < 2:
   print("\n LA CONTRASEÑA NO ES CORRECTA \n intenta otra vez:")
   intento += 1
   contraa(intento) 

  else:
   print("NO ERES EL USUARIO: \n ENTRADA NEGADA\n error\n error")
 else:
   print("bien benido")
   print("comienza a trabajar")
  

contraa()
  

Numpyuno

import numpy as np
matrix=0
print('operadores')
a=np.array([1,1,0,0], dtype=bool)      #dtype tipo booleano
b=np.array([1,0,1,0], dtype=bool)
print(a | b)
print(a & b)
print(a ^ b)

x=np.array([1,2,3,4])
print(x.sum() )

print('multiplicacion')
a=matrix([[1,3,-5], [3,4,2], [-5,2,0]])
print(a)
b=matrix([[1],[5], [3]])
print(b)

Comentarios