UNIDAD 4

PROGRAMA 1
#  Programa 1 U4.py
#  
# U34 Función 1
#Declaracion de una función

def fununo():
print("Dentro de función")
print("Aún dentro")

fununo()

PROGRAMA 2
#  Programa 2 U4.py
#  
# U34 Función 2
#Uso de una función para realizar el area de un cuadrado
'''
def cuadrado(x):
y=x*x
print(y)
return(y)

print(cuadrado(5))
'''
'''
def cuadrado(x):
y=x*x
return y

print(cuadrado(5))  #lo debe de utilizar el regreso
'''
'''
def cuadrado(x):
y=x*x
print(y)

cuadrado(5)
'''
def cuadrado(x):
y=x*x
return(y)

vm=cuadrado(5)
print(vm)

PROGRAMA 3
#  Programa 3 U4.py
#  
# U34 Función 3
#Uso de funciones mandando variables
'''
def multiplicacion(x,y):
print(x,y)

multiplicacion(5,9)
'''
'''
def multiplicacion(x,y):
print(x*y)

multiplicacion(5) #missing 1 requiered positional argument: 'y'
'''
'''
def multiplicacion(x,y=1):
print(x*y)

multiplicacion(5)
'''
'''
def multiplicacion(x,y=1):
print(x*y)

multiplicacion(5,5)
'''
def multiplicacion(x=3,y=1):
print(x*y)

multiplicacion()

PROGRAMA 4
#  Programa 4 U4.py
#  
# U34 Función 4
#Uso de funciones usando argumentos

def multiplicacion(*args):
print(args)
c=args
print(type(c))
print(args[3])

multiplicacion(1,5,6,6,8,9)

PROGRAMA 5
#  Programa 5 U4.py
#  
# U34 Función 5
#Uso de funciones para la creación de una lista
'''
def fib(n):
a,b=0,1
while a<n:
print(a,end=' ')
a,b=b,a+b

fib(10000)
'''
def fib(n):
a,b=0,1
lfib=[]
while a<n:
lfib.append(a)
a,b=b,a+b
return lfib

lrfib=fib(1000)
print(lrfib)

PROGRAMA 6
#  Programa 6 U4.py
#  
# U34 Función 6
#Uso de funciones y prints que usan diccionario

def loro(tension, estado='rostizado', accion='explotar'):
print("--Este loro no va a ", accion, end=' ')
print("si le aplicas", tension, "volts", end=' ')
print("Está", estado, "!")

d={"tension":"cinco mil", "estado":"demacrado", "accion":"VOLAR"}
loro(**d)
print("******************************")
loro("tres mil","rojito","levita")
print("******************************")
#lis=["tres mil","rojito","levita"] error
#loro(**lis) error

PROGRAMA 7
#  Programa 7 U4.py
#  
# U34 Función 8
#Uso de funciones agregando uso de castings de cadenas

def f(jamon:str,huevos:str='huevos')->str:
print("Anotaciones: ",f.__annotations__)
print("Argumentos: ",jamon,huevos)
return jamon + ' y ' + huevos

def x(var:float,var2:float)->float:
return var**var2

print("**********************************")
print(f('carne'))
print("**********************************")
print(x(2,8))

PROGRAMA 8
#  Programa 8 U4.py
#  
# U34 Función 8
#Uso de funciones para obtener las combinaciones posibles
comb2=[]
combs=[]
for x in [1,2,3]:
for y in [3,1,4]:
if x!=y:
combs.append((x,y))
#1,3, 1,4  2,3 2,1  2,4  2,1 3,4 
print(combs)
print("********************************************************")
#print([(x,y))for x in [1,2,3] for y in [3,1,4] if x!=y])
#pasar este intermezzo a la lista comb2
[comb2.append((x,y))for x in [1,2,3] for y in [3,1,4] if x!=y]
print(comb2)

PROGRAMA 9
#  Programa 9 U4.py
#  
# U34 Función 9
#Uso de funciones para realizar matrices y obtener su transpuesta
matriz=[
[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
]
trans=[]
'''
for i in range(4):
#f transpuesta=[]
for fila in matriz:
trans.append(fila[i])
print("Transpuesta: ",trans)
'''
#[trans.append(fila[i]) for i in range(4) for fila in matriz]
#Lo de arriba es un error

#[[fila[i] for fila in matriz] for i in range(4)]
print([[fila[i] for fila in matriz] for i in range(4)])

transpuesta=[]
for i in range(4):
transpuesta.append([fila[i] for fila in matriz])
print("******************************")
print(transpuesta)

PROGRAMA 10
#  Programa 10 U4.py
#  
# U34 Función 10
#Uso de matrices y de operaciones para conjuntos
matriz=[
[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
]

print(list(zip(*matriz)))

#Conjuntos
a=set('abracadabra')
b=set('alacazam')
print("letras unicas en a", a)
print("letras en a pero no en b: ", a-b)
print("letras en a o b o en ambas: ", a | b)#or
print("letras en a y b: ", a & b)#and
print("letras en a o b pero no en ambas: ", a ^ b)#xor

a={x for x in 'abracadabra' if x not in 'abc'}
print("Conjuntos", a)

PROGRAMA 11
#  Programa 11 U4.py
#  
# U4 grafica 1
#Grafica 3 funciones

import numpy as np
import matplotlib.pylab as plt

x = np.linspace(-1,1,50)
y1 = 2*x
y2 = 2*(x)**2 + 1
y3 = 2*(x)**3 - 2

plt.figure(num='Gráfico UNO')
plt.plot(x,y1)
plt.plot(x,y2)
plt.plot(x,y3)
plt.show()

PROGRAMA 12
#  Programa 12.py
#  
# U4 Grafica 2
#Grafica 3 funciones y agrega titulo

import numpy as np
import matplotlib.pylab as plt

x = np.linspace(-1,1,50)
y1 = 2*x
y2 = 2*(x)**2 + 1
y3 = 2*(x)**3 - 2

plt.figure(num='Gráfico DOS')
plt.plot(x,y1)
plt.plot(x,y2)
plt.plot(x,y3)
plt.xlabel('Absisas')
plt.ylabel('Ordenadas')
plt.title('figura DOS')
plt.show()

PROGRAMA 13
#  Programa 13 U4.py
#  
# U4 grafica 3
#Grafica 3 funciones, agrega titulo y modifica el área de visualización

import numpy as np
import matplotlib.pylab as plt

x = np.linspace(-1,1,50)
y1 = 2*x
y2 = 2*(x)**2 + 1
y3 = 2*(x)**3 - 2

plt.figure(num='Gráfico TRES', figsize=(5,7)) #figsize(Ancho,altura)
plt.plot(x,y1)
plt.plot(x,y2)
plt.plot(x,y3)
plt.xlabel('Absisas')
plt.ylabel('Ordenadas')
plt.title('figura TRES')
plt.show()

PROGRAMA 14
#  Programa 14.py
#  
# U4 grafica 4
#Grafica 3 funciones, agrega titulo, modifica el área de visualización y lineas

import numpy as np
import matplotlib.pylab as plt

x = np.linspace(-1,1,50)
y1 = 2*x
y2 = 2*(x)**2 + 1
y3 = 2*(x)**3 - 2

plt.figure(num='Gráfico CUATRO', figsize=(5,7)) #figsize(Ancho,altura)
plt.plot(x,y1, color='r', lw=6, ls='--')
plt.plot(x,y2, color='b', lw=1, marker='s')
plt.plot(x,y3, color='k', marker='o', ls='None')
plt.xlabel('Absisas')
plt.ylabel('Ordenadas')
plt.title('figura CUATRO')
plt.show()

PROGRAMA 15
#  Programa 15 U4.py
#  
# U4 grafica 5
#Grafica 3 funciones, agrega titulo, modifica el área de visualización, lineas y letras

import numpy as np
import matplotlib.pylab as plt

x = np.linspace(-1,1,50)
y1 = 2*x
y2 = 2*(x)**2 + 1
y3 = 2*(x)**3 - 2

plt.figure(num='Gráfico CINCO', figsize=(5,7)) #figsize(Ancho,altura)
lettersize=18
plt.rc('xtick', labelsize=lettersize)
plt.rc('ytick', labelsize=lettersize)
plt.plot(x,y1, color='r', lw=6, ls='--')
plt.plot(x,y2, color='b', lw=1, marker='s')
plt.plot(x,y3, color='k', marker='o', ls='None')
plt.xlabel('Absisas')
plt.ylabel('Ordenadas')
plt.title('figura CINCO')
plt.show()

PROGRAMA 16
#  Programa 16 U4.py
#  
# U4 grafica 6 
#Grafica 3 funciones, agrega titulo y funciones, modifica el área de visualización, lineas y letras

import numpy as np
import matplotlib.pylab as plt
 
x = np.linspace(-1, 1, 20)
y1 = 2*x
y2 = 2*(x)**2 + 1
y3 = 2*(x)**3 - 2
 
plt.figure(num='Grafico SEIS', figsize=(5,7))
lettersize=20
plt.rc('xtick',labelsize=lettersize); plt.rc('ytick',labelsize=lettersize)
plt.plot(x, y1, color='r', lw=6, ls='--')
plt.annotate('y=2x', (0.3, 2*0.3), (0.4, -0.3), fontsize=lettersize, arrowprops=dict(facecolor='r', shrink=0.05, width=2))
plt.plot(x, y2, color='b', lw=1, marker = 's')
plt.annotate('y=2x^2 + 1', (0.0, 2*0.0**2+1), (-0.5, 2.0), fontsize=lettersize, arrowprops=dict(facecolor='b', shrink=0.05, width=2))
plt.plot(x, y3, color='k', marker='o', ls='None')
plt.annotate('y=2x^3 - 2', (0.3, 2*0.3**3-2), (-0.2, -3.0), fontsize=lettersize, arrowprops=dict(facecolor='k', shrink=0.05, width=2))
 
plt.grid('on')
plt.xlabel('Abcisas', fontsize=lettersize)
plt.ylabel('Ordenadas', fontsize=lettersize)
plt.title('figura SEIS', fontsize=lettersize)
plt.show()

PROGRAMA 17
#  Programa 17 U4.py
#  
# U4 Grafica 7
#Grafica una función senoidal

import matplotlib.pyplot as plt

import numpy as np #Importamos numpy como el alias np

a=np.linspace(0,20,50)
print(a)
b=np.sin(a)
print("******")
plt.plot(a,b, 'k--', linewidth=2)
plt.show()

PROGRAMA 18
#  Programa 18 U4.py
#  
# U4 Grafica 8
#Grafica 2 funciones senoidales, con sus caracteristicas

import matplotlib.pyplot as plt
import numpy as np #Importamos numpy como el alias np

a=np.linspace(0,20,50)
b=np.sin(a)
c=plt.plot(a,b, 'c-3', linewidth=2)
c=plt.plot(a+0.2,b-1, 'r-o', linewidth=2)
plt.xlabel("Tiempo (s)", fontsize=20)
plt.ylabel(r"$y (\mu m)$", fontsize=24, color='blue')

plt.text(5,7,"Mas texto", fontsize=12)

plt.title("velocidad (m/s)",fontsize=20)

plt.legend(('Etiqueta1','Etiqueta2','Etiqueta3'),loc='upper left')

plt.grid(True)

plt.savefig('figura3.png', dpi=300) #Guarda la gráfica con 300dpi (puntos por pixel)

plt.show()

PROGRAMA 19
#  Programa 19 U4.py
#  
# U4 Grafica 9
#Grafica cuatro funciones en diferentes planos

import matplotlib.pyplot as plt
import numpy as np #Importamos numpy como el alias np

a=np.linspace(0,20,50)
b=np.sin(a)
plt.figure()
#plot 1
plt.subplot(2,2,1)
plt.plot(a,b,'r')
#Segunda Gráfica
plt.subplot(2,2,2)
plt.plot(a+2,b*25,'g')
#Tercera Gráfica
plt.subplot(2,2,3)
plt.plot(b,a,'b')
#Cuarta Gráfica
plt.subplot(2,2,4)
plt.plot(a,b,'k')
#Mostramos en pantalla
plt.show()

PROGRAMA 20
#  Programa 20 U4.py
#  
# U4 Grafica 10
#Grafica una función y cambia el color del área del trabajo

import matplotlib.pyplot as plt
import numpy as np #Importamos numpy como el alias mp

plt.figure()
x=np.arange(-5,5,0.01)
y=np.arange(-5,5,0.01)
x,y=np.meshgrid(x,y)
#Definimos cos(x^3 + y^2)
fxy=np.cos(x**3 + y**2)
plt.imshow(fxy)
plt.colorbar()
plt.show()

PROGRAMA 21
#  Programa 21 U4.py
#  
# U4 Grafica 11
#Grafica una función en 3D y permite visualizarla de diferentes ángulos

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as np
fig=plt.figure()
#Tipo de figura
ax=fig.gca(projection='3d')
#Datos
X=np.arange(-4,4,0.3)
Y=np.arange(-4,4,0.3)
X,Y=np.meshgrid(X,Y)
R=np.sqrt(X**2 + Y**2)
Z=np.sin(R)
#Graficamos o trazamos la superficie
surf=ax.plot_surface(X,Y,Z, rstride=1, cstride=1, cmap='jet')
#Personalizamos el ejex z
ax.set_zlim(-1.01,1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
#Agregamos una barra de colores para que asigne valores a colores.
fig.colorbar(surf, shrink=0.5,aspect=5)
plt.show()

PROGRAMA 22
#  Programa 22 U4.py
#  
# U4 Print 1
#Uso de prints con formato establecido

nom="Ari"
apell="Cardoza"
fecha="14/04/2021"
txt="{nombre} hija de {apellido} nació {fecha}"
print(txt.format(nombre=nom,apellido=apell,fecha=fecha))

print("Hola, yo soy {} nací {}".format(nom,fecha))

print("{} {} {} {} ".format(2123,122,215,985))
print("{0} {1} {2} {3} ".format(2123,122,215,985))
print("{0} {1} {3} {2} ".format(2123,122,215,985))

print("{:3d} {:4d} {:4d} {:3d} ".format(23,1322,215,9885))
print("{:3d} {:4d} {:5d} {:6d} ".format(23,1322,215,9885))

Comentarios