PROGRAMA 1
#if sencillo
ana=16
if ana>=18:
print("Mayor de edad")
else:
print("Menor de edad")
PROGRAMA 2
#elif
a=25
if(a<22):
print("Dentro del if positivo")
#es una pregunta en un else, un if dentro de un else
elif(a==25):
print("dentro del elif")
else:
print("dentro del else")
#if anidado
'''
b=20
if(b):
else if (b==14):
print()
#else
'''
PROGRAMA 3
#if independiente
age=21
if age>16:
print("Apenas puedes conducir")
else:
print("Eres joven para conducir")
if age>=21:
print("puedes conducir con seguro")
elif age>=16:
print("Puedes conducir con permiso o licencia")
else:
print("NO puedes conducir")
PROGRAMA 4
#and or not en un if
age=15
if((age>=1) and (age<=18)):
print("niño, pubertillo o casi adulto")
elif((age==21) and (age<=18)):
print("adulto, adulto tercera edad")
elif not(age==30):
print("EStas ya casado o lo haras con tu mejor amiga")
else:
print("Tendremos fiesta??")
PROGRAMA 5
#ejemplo con elif
edad=int(input("Ingrese edad: "))
if edad==16:
print("Permiso para conducir en Mx")
elif((edad<=18) and (edad>=16)):
print("No entra a fiestas pero puede conducir")
elif((edad>=18) and (edad<21)):
print("Puede votar y conducir en Mx")
elif((edad>=21) and (edad<24)):
print("Vota, bebe alcohol en el extranjero y conduce en MX")
elif (edad>=24):
print("Vota, bebe extranjero y conduce en Europa y MX")
else:
print("Nada")
PROGRAMA 6
#para poder hacer figuras en python
import pygame
from pygame.locals import *
import sys
import math
#el asterisco importa todo lo de la libreria
#import random
from random import *
AZUL=(9,35,67)
VERDEPASTO=(17,99,67)
VERDE=(10,255,10)
BLANCO=(222,224,200)
GRIS=(186,186,177)
GRISCASTILLO=(158,158,158)
NEGRO=(2,3,3)
ROJO=(255,0,0)
CAFE=(90,50,15)
TRUENO=(19,45,77)
Dimensiones=(800,800)
#Linea: La siguiente linea de codigo dibuja una linea de color verde desde el punto [10,
#donde el primer valor de cada lista es la coordenada en x y el segundo la coordenada
#indica el grosor de la linea
def dibujar_fig(pantalla,pos):
pygame.draw.line(pantalla,VERDE,[10,10],[650,470],2)
pygame.draw.rect(pantalla,ROJO,[150,50,400,400],0)
pygame.draw.circle(pantalla,CAFE,[325,270],15,0)
pygame.draw.polygon(pantalla,TRUENO,[[350,10],[20,400],[680,400]],0)
pygame.draw.arc(pantalla,GRIS,[150,50,400,400],0,math.pi,2)
#Rectangulo: para dibujar un rectangulo, igual que para la linea el primer parametro es la variable Pantalla
#despues el color de la figura, y en este caso para dibujar un rectangulo usamos una lista con cuatro elementos
#de los cuales el primer par corresponden a las coordenadas (x,y) de la esquina superior izquierda, los otros dos
#indican el tamaño de la figura (ancho y alto). Asi la siguiente dibuja un rectangulo que en realidad es un cuadrado
#con coordenadas iniciales x= 150, y= 50, con un ancho y alto de 400
#Circulo: a esta funcion se le indica con una lista de dos elementos el centro del circulo, despues el radio y de igual
#forma que la linea el ultimo parametro es el grosor de la linea, con la excepcion de que si usamos 0
#el circulo se dibujará con relleno (esto funciona tambien para para la funcion rect).
def dibujar_txt(pantalla,texto,color):
Fuente=pygame.font.Font(None,25)
Texto=Fuente.render(texto,True,color)
pantalla.blit(Texto,[250,10])
def main():
pygame.init()
pantalla=pygame.display.set_mode(Dimensiones)
pygame.display.set_caption("INST TEC AGS")
game_over=False
reloj=pygame.time.Clock()
while not game_over:
for evento in pygame.event.get():
if evento.type==pygame.QUIT:
game_over=True
pantalla.fill((255,255,255))
dibujar_fig(pantalla,[25,25])
dibujar_txt(pantalla,"Prog. Visual",TRUENO)
pygame.display.flip()
reloj.tick(60)
pygame.quit()
if __name__=="__main__":
main()
PROGRAMA 7
#unidad 3, manejo de elementos de cadenas
cadena="Texto"
print(cadena)
print(cadena[1])
print(len(cadena))
print(cadena.lower()) #hace minusculas
print(cadena.upper()) #hace mayusculas
numero=7.9867
num=str(numero)
print(str(numero))
print("numero %s"%num[0])
var1="hola"
var2="Ariadna"
#var3=var1+var2
print(var1+' '+var2)
#Juan Daniel Muñoz --> JUAN DANIEL MUÑOZ --> Juan Daniel MUÑOZ
cadena2="Juan Daniel Muñoz"
print(cadena2.upper())
n1=cadena2[:12]
nom=cadena2[12:]
n2=nom.upper()
print(n1 + n2)
PROGRAMA 8
#uso de elif y for
x=20
if(x<0):
x=0
print("negativo cambiado a cero")
elif(x==0):
print("sencillo")
elif(x==1):
print("mas")
palabras=['gatos','ventana','defensas']
#con for w in = for i=0; i<=2; i++
#w es la posicion del elemento en la lista, empieza en cero
#en el print te pone lo que esta en esa posicion y la longitud de ese elemento
for w in palabras:
print(w,len(w))
#el range es la condicion i<=2; i++
#imprime de 0 a . con salto de linea
for i in range(5):
print(i)
PROGRAMA 9
#uso de len y range en el For
#imprime con /n del 0 al 4
for i in range(5):
print(i)
#imprime con /n posicion y cadena
a=['maria','tenia','un','corderito']
for c in range(len(a)):
print("%d %s"%(c, a[c]))
#poner m a r i a
for m in range(len(a[0])):
print("%s "%(a[0][m]))
PROGRAMA 10
#for anidado
#range(inicio,fin), no incluye el 10, 1 al 9
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,n//x))
break #rompe el ciclo en el que esta
else:
print("n es primo %d"%(n))
#print("el valor de n es %d y el de x es %d"%(n,x))
num=int(input("\nDame un numero para una tabla: "))
for y in range(num,10):
for i in range(1,10):
print("%d * %d = %d"%(num,i,num*i))
print()
num=num+1
PROGRAMA 11
#uso de range con inicio y fin
#numero par o impar
for num in range(2,10):
if (num%2==0):
print("par %d"%(num))
continue #salta la siguiente linea inmediata
print("impar %d"%(num))
PROGRAMA 12
#el end no hace salto de linea
#primer for
print("inicio")
#imprime 3 veces con [0,1,2]
for i in [0,1,2]:
print("hola",end="")
print()
print("final")
#segundo for
print("\ninicio")
for i in [1,1,1]:
print("hola2",end="")
print()
print("final")
#tercer for
#no lo imprime nada porque la lista esta vacia
print("\ninicio")
for i in []:
print("hola3",end="")
print()
print("final")
#cuarto for
print("\ninicio")
for i in [3,4,5]:
print("hola4 %d"%(i))
print()
print("final")
#quinto for
print("\ninicio")
for i in ["Susi","Lopez",100]:
print("hola5 %s"%(i))
print()
print("final\n")
#sexto for
for numero in [1,2,3,4,5]:
print(" %d * %d = %d"%(numero, numero, numero**2))
print()
print("final")
#septimo for
#la i es la posicion del caracter, i=0 --> S
for i in "SUSANA":
print("Dame una %s"%(i))
print()
print("Que dice %s\n"%("SUSANA"))
print("mas fuerte %s"%("SUSANA"))
for i in [1,1,1]:
print("Tres veces %s"%("SUSANA"))
PROGRAMA 13
#si la ingresa mal 3 veces marcara error de ingreso
u='Susilopez'
c='galleta'
for i in range(1,4):
a=input("Ingrese su usuario: ")
if (a==u):
b=input("\nIngrese contraseña: ")
break
print("Error usuario")
for n in range(1,4):
if(b==c):
print("\nBienvenida Susi Lopez")
break
else:
print("Error contraseña")
b=input("\nIngrese contraseña: ")
PROGRAMA 14
#while con condiciones de paro
edad=0
while(edad<18):
edad=edad+1
print("edad vale",edad)
if(edad%2 ==0):
print("edad par es",edad)
continue #no hace todo lo de abajo
print("Saltare si no tal vez")
print("Esta saltara nooo, siiii")
print("Felicidades eres mayor de edad",edad)
PROGRAMA 15
#para llenar listas vacias
cien=[]
par=[]
impar=[]
c=1
while(c<101):
cien.append(c)
if(c%2 ==0):
par.append(c)
else:
impar.append(c)
c+=1
print("Valores totales")
print(cien)
print("Pares")
print(par)
print("Impares")
print(impar)
PROGRAMA 16
#escriba un programa que pida dos numeros enteros
#continue mientras sean cada vez mas grandes
primero=int(input("Dame un numero: "))
segundo=int(input("Dame otro numero mayor que el primero: "))
while(segundo>primero):
primero=segundo
segundo=int(input("Escriba un numero mayor que "+str(primero)+ " "))
print()
print(segundo, "no es mayor que", str(primero)+".")
print("Programa terminado")
#escriba un programa que pida la cantidad de numeros
#positivos hasta que sea la cantidad que usted decida de positivo
cont=0
i=int(input("Dame un numero positivo: "))
while(cont<5):
if(i>0):
cont=cont+1
i=int(input("Dame un numero positivo: "))
else:
print("Ingreso negativos")
break
print("Programa terminado con ",str(cont)+ " numeros positivos")
PROGRAMA 17
#escriba un programa que pida un valor limite positivo y a continuacion
#pida numeros hasta que la suma de los numeros introducidos supere el limite inical
suma=0
i=int(input("Dame un limite: "))
while(suma<i):
j=int(input("Dame un numero: "))
suma=suma+j
print("Programa terminado")
PROGRAMA 18
#el do while como tal no esta registrado
a=0
do:
print(a)
a++
while(a!=3)
PROGRAMA 19
#uso de abs, conjugate y evalf
from sympy import arg , conjugate ,sqrt ,I
#from math import *
#no resuleve la operación la deja solo simplificada
#sin comentario de math entonces da un resultado #numérico
a= sqrt (3)+I
print(conjugate (a))
print(abs(a))
print(arg(a))
#el valor real de alguna de las operaciones efectuadas
c=arg(a). evalf ()
print(c)
PROGRAMA 20
#uso de Symbol, E, I, re, expand
from sympy import Symbol ,E,I,re
x= Symbol ('x', real = True )
a=E **(I*x)
b=a. expand ( complex = True )
print(b)
c=a **3
d=c. expand ( complex = True ). expand ( trig = True )
print(d)
print(re(d))
f=c. expand ( complex = True )
print(re(f))
res=(re(f)-re(d)). expand ( trig = True )
print(res)
PROGRAMA 21
#algebra 4 usando una variable simbólica y solve
from sympy import Symbol , solve
x= Symbol ('x ')
print(solve (x**4 -1 ,x))
PROGRAMA 22
#Si el resultado esperado es amplio podemos guardarlo en una lista.
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)
PROGRAMA 23
#bucle para 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())
PROGRAMA 24
#uso de symplify para numeros complejos
#importar sympy
from sympy import I, simplify
print(simplify(((1+I) / (1+2 * I))))
PROGRAMA 25
#grafica simple
from pylab import *
#importando pylab que es en donde se encuentra todo lo de ploteo
lista1 = [11,2,3,15,8,13,21,34]
lista= []
for i in range (0,10):
lista.append(i)
#estamos declarando la lista, que los elementos de la grafica
plt.plot(lista)
#dibuje los puntos en X y Y
plt.show()
#mostrar la grafica
PROGRAMA 26
#grafica con cuadricula
from pylab import *
plt.ioff() #desactiva el modo interactivo
lista3=[9,15,9,15,9,15,9,15] #lista de 8 valores
plt.plot(lista3) #no dibuja datos de la lista3
plt.show() #Fuerza dibujo de datos de lista
plt.title("Grafica") #Establece el titulo pero no lo muestra en grafico
plt.show() #actualiza grafico con nuevo titulo
plt.grid(True) #Activa cuadricula, pero no la muestra
plt.show()
plt.ion() #activa modo interactivo de dibujo
PROGRAMA 27
#grafica con leyendas y formas de linea del grafico
from pylab import *
lista1=[11,2,3,15,8,13,21,34]
lista2=[2,3,4,2,3,6,4,10]
lista3=[9,15,9,15,9,15,9,15]
#plt.plot(lista1, label ="Enero")
#plt.plot(lista2, label ="Febrero")
#plt.plot(lista3, label ="Marzo")
#plt.legend()
plt.plot(lista1,marker='x', linestyle=':', color='b', label ="Enero")
plt.plot(lista2,marker='*', linestyle='-', color='g', label ="Febrero")
plt.plot(lista3,marker='o', linestyle='--', color='r', label ="Marzo")
plt.legend(loc="upper left")
plt.show()
PROGRAMA 28
#grafica con leyenda
from pylab import *
lista3=[9,15,9,15,9,15,9,15] #lista de 8 valores
plt.plot(lista3, label ="Algo de leyenda")
#plt.legend()
#Para colocar la leyenda en la parte superior del gráfico y a la izquierda:
plt.legend(loc="upper left")
plt.show()
PROGRAMA 29
#grafica con titulos en ejes
from pylab import *
plt.ioff()
lista=[11,2,5,8,10,9,4,1]
lista1=[3,5,7,8,4,1,5,3]
plt.plot(lista, label="Ayer", marker='D', linestyle='-.', color='g')
plt.plot(lista1, label="Hoy", marker='s', linestyle=':', color='m')
#lower,left, upper, lower, center
plt.legend(loc="lower left")
plt.title("Comida")
plt.xlabel("Dias")
plt.ylabel("Manzanas")
plt.grid(True)
plt.show()
plt.ion()
PROGRAMA 30
#con random da numeros aleatorios
import random
rand_num=random.randrange(10)
print(rand_num)
#print (random.randrange(10))
while(rand_num !=5):
print(rand_num)
rand_num=random.randrange(10)
PROGRAMA 31
#se puede utilizar random dentro de ciclos
import random
par=0
impar=0
n=0
while(n<20):
num=random.randrange(30)
if(num%2==0):
par=par+1
print(num)
elif(num%2==0):
impar=impar+1
print(num)
n=n+1
print("Par fueron: ",par)
print("Impar fueron: ",impar)
PROGRAMA 32
#se necesita pylab para poder utilizar np.array
from pylab import *
a= np.array([1,2,3,4])
print(a+1)
#array ([1,2,3,4])
print(2**a)
#array([2,4,8,16])
PROGRAMA 33
#diferentes cosas que se pueden hacer con arreglos
from pylab import *
lista=[1,2,3,4,5]
print(type(lista))
a=np.array(lista)
print(type(a))
#----------------
#pyhton lindo no?
a=[1,2,3]
b=a[:] #copia el arreglo
print("b original",b)
b[0]=100
print("b modificada",b) #se modifican el original y copia
print(a), print()
#_________________
a=np.array([1,2,3])
b=a[:]
print("b original",b)
b[0]=100
print("b modificada",b)
print(a), print()
#______como se resuelve
a=np.array([1,2,3])
b=a[:].copy() #fuerzo la copia, no se modifica el original
print("antes",b)
b[0]=100
print("despues",b)
print("valor de a",a)
plt.plot(a)
plt.show()
PROGRAMA 34
#Con for se puede ir llenando una matriz o arreglo
from pylab import *
a=np.array([[1,1,1],
[1,1,1],
[1,1,1]])
print("Arreglo ",a)
for i in range(len(a)):
for j in range(len(a)):
print(a[i][j], end="")
print()
print()
for ren in a:
for col in ren:
print(col, end="")
print()
PROGRAMA 35
#importando numpy para llenar matrices y mas
import numpy as np
#para solamente tener la librerias de np que son de arreglo
a=np.append([1,2,3],[[4,5,6],[7,8,9]])
print("primero",a)
#cuando se especifica el eje, valores
b=np.append([[1,2,3],[4,5,6]],[[7,8,9]],axis=0)
print(b)
#matrices
print(b.ndim)
#forma
print(b.shape)
#auto llenado
print()
a=np.arange(10) #0 ... n-1
print("primer autollenado",a)
b=np.arange(1,9,2) #inicio, final (excluido), paso
print("Llenado por eleccion",b)
c=np.linspace(0,1,6) #inicio, final, numero de puntos
print("Llenado de puntos",c)
d=np.linspace(0,1,5, endpoint=False) #no incluye el final
print("aun no se",d)
print()
#opciones
#llena de unos
a=np.ones((3,3))
print(a)
print()
b=np.zeros((2,2))
print(b)
print()
#llena diagonal principal con 1 y la forma es de 3
c=np.eye(3)
print(c)
#llena la diagonal principal con los valores dados
d=np.diag(np.array([1,2,3,4]))
print(d)
a=np.random.rand(4)
print(a)
#arreglo con dimension de 4
b=np.random.randn(4)
print(b)
d=np.array([1+2j, 3+4j, 5+6*1j])
print(d.dtype)
e=np.array([True, False, False, True])
print(e.dtype)
f=np.array(['Bonjour','hello','hallo'])
print(f.dtype) #unicode, version 7
a=np.diag(np.arange(3))
print(a)
a[1,2]=10 #tercera fila, segunda columna
print(a)
a=np.arange(10)
print(a)
a=np.arange(12).reshape(3,4)
print(a)
i=np.array([[0,1],[1,2]])
a[i,2] #lo mismo es a[i,2*np.ones((2,2),dtype=int)]
print(i)
#array([[2,6],
# [6,10]])
PROGRAMA 36
#usando matrix para realizar operaciones con matrices, como suma, resta, division
import numpy as np
from numpy import matrix
b=np.array([[0,1,2],[3,4,5]])
print(b)
print(b.ndim) #numero de corchetes al principio indica la dim
print(b.shape)
print(len(b))
print()
c=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(c)
print(c.ndim)
print(c.shape)
print(len(c)) #la longitud da el numero de renglones
print()
d=np.array([[[1], [2]], [[3],[4]]])
print(d)
print(d.ndim)
print(d.shape)
print(len(d))
print()
print('sumas',' ','multiplicacion')
a=np.array([1,2,3,4])
print(a)
a=a+1
print(a)
a=a*3
print(a)
x1=np.array([[[1,2,3],[3,4,5]],[6,7,8]])
y1=np.array((1,2,3))
print('de x',x1.ndim)
print('de y',y1.ndim)
print('operadores')
a= np.array([1,1,0,0], dtype=bool)
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('suma renglon y columna')
x=np.array([[1,1],[2,2]])
print(x)
#por columna
print(x.sum(axis=0)) #se suman los ejes verticales (columnas)
#por renglon
print(x.sum(axis=1)) #se suman los ejes horizontales (renglones)
print('multiplicacion')
a=matrix([[1,3,-5],[3,4,2],[-5,2,0]]) #con matrix hace la multiplicacion directo
print(a)
b=matrix([[1],[5],[3]])
print(b)
a=a*b
print(a)
#estadistico
#desviacion media
print(x.mean())
#desviacion estandar
print(x.std())
print(np.median(x))
print(x.min())
print(x.max())
#indice del maximo
print(np.argmax(x))
#algebra lineal basica
print('transpuestas')
b=matrix([[1],[5],[3]]) #como esta con items individuales se hace una columna
print(b)
print(b.T) #imprime transpuesta
print(b.H) #Se calcula la hermitica (transpuesta conjugada)
c=a.I #Se calcula la inversa
print(c)
print(a*c) #se multiplica las matrices a y c
PROGRAMA 37
#import string
#string permite importar lower
def juega(intento=1):
respuesta=str(input("¿De que color es una mora azul? "))
#res=string.lower(respuesta)
print(respuesta)
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()
PROGRAMA 38
def prueba_ambitos():
def hacer_local():
algo="algo local"
def hacer_nonlocal():
#nonlocal algo #hacer que se modifique el algo, lo llama y no se pone entre ()
algo="algo no local"
def hacer_global():
global algo #la convierte en global
algo="algo global"
algo="algo de prueba"
hacer_local()
print("Luego de la asignacion local:",algo)
hacer_nonlocal()
print("Luego de la asignacion no local:",algo)
hacer_global()
print("Luego de la asignacion global:",algo)
prueba_ambitos()
print("In global scope:",algo) #imprime el algo global