lunes, 2 de marzo de 2020

Unidad 2

PROGRAMA 1


#U2 NUM1, COMENTAR UNA LINEA
#comentar UNA LINEA
'''
COMENTAR
UNA
O VARIAS LINEAS'''

entero=23
print (entero)#MUESTRA EN PANTALLA EL VALOR DE LA VARIABLE

#NUMlar=23L
#print (type(NUMlar)) NO DEVUELVE NADA ESTE LLAMADDO

nume=oct(25) #O de octal Y EN SEGUIDA  EN EQUIVALENTE EN OCTAL
print (nume)


num1=hex(25)
print ("HEXA DE 25", num1)#DEVUELVE EL EQUIVALENTE EN HEXADECIMAL

num2=bin(2020)
print ("BINARIO DE 25", num2)#DEVUELVE EL EQUIVALENTE EN BINARIO


#print (bin(num2))
#https://www.programiz.com/python-programming/methods


numreal=0.234567
print ("NUMERO REAL----TIPO: " ,type(numreal), numreal)
#MUESTRA EL TIPO DE NUMERO, NUERO REAL


numcomp=2.1+ 7.8j
print ("NUMERO COMPLEJO----TIPO: " ,type(numcomp), numcomp)
#MUESTRA EL TIPO DE NUMERO, NUERO COMPLEJO



PROGRAMA 2

#U2_ NUM2
#OPERACIONES BASICAS


#!/usr/bin/env/python
# -*- coding: utf-8 -*-

print ("ESPAñoL CON Ñ")
print("SUMA",3+2)
print("RESTA",4-7)
print("NEGATIVO",-7 )
print("MULTIPLICACION", 8*9 )
print("DIVISION", 2/3) #MUESTRA UN COCIENTE DECIMAL
print("DIV ENTERA", 5//2) #SOLO MUESTRA LA PARTE ENTERA DE UNA DIVISION
print("RESIDUO",8%3 ) #RESIDUI DE LA DIVISION
print("POTECNIA", 2**3)



PROGRAMA 3
#U1_NUM 3
#OPERADODRES LOGICOS

print("AND &",3&2 ) #OPERADOR AND
print("OR |", 3|2 ) #OPERADOR OR
print("XOR ^",3^2 ) #OPERADOR XOR
print("NOT~", ~3) #NEGACION
print("DESP IZQ<<", 3<<1) #DESPLAZAM IZQUIERDA
print("DESP DER>>", 3>>1) #DESPLAZAM DERECHA



PROGRAMA 4
#U2_NUM 4

a=3
b=2
#NIVEL BIT
print("Es un &", a&b) #
c=1
d=0
print("E un |", a|b)
#NIVEL FALSO VERDADERO O BOOLEANO

print("es un and", c and d) #AND BOOLEANDO
print("ES un or", c or b) #OR BOOLEANO
print("Negar ", not b) #NEGACION

x=10
y=20
z=10

print("Igual ", x==z) #PREGUNTA SI X ES IGUAL A Z
print("distintos ", x!=y) #PREGUNTA SI X ES DIFERENTE A Y
print("x<z", x<z)  #PREGUNTA SI X ES MENOR A Z
print("z>x", z>x) #PREGUNTA SI Z ES MAYOR A X
print("mayor igual ",y>=x) #PREGUNTA SI Y ES MAYOR-IGUAL A X
print("menor igual ", x<=y) #PREGUNTA SI X ES MENOR-IGUAL A Y
f=True
g=False
print("AND ", f and g)




PROGRAMA 5
#U2_ NUM 5

a=4
nombre="Juan Perez"
gravedad=-9.91
print((a*gravedad)/2)#MUESTRA EL RESULTADO DE LA MULTIPLICACIONDE a POR GRAVEDAD DIVIDIDO ENTRE2
print(nombre)

#convertir de cadena a entero
b=int ("4")
print(b)
print(type(b))#MUESTRA EL NUEVO TIPO DE VARIABLE

#cadena a flotante
c=float("3.14")
print(c)
print(type(c))#MUESTRA EL NUEVO TIPO DE VARIABLE

#entero a cadena
d=str(4)
print(d)
print(type(d)) #MUESTRA EL NUEVO TIPO DE VARIABLE



PROGRAMA 6
#U2_CAD 1
a="uno "#VARIABLE TIPO CADENA
b="dos"
c=a+b #MUESTRA LAS PALABRAS a Y b UNIDAS
print(c)
#puedo multiplicar una cadena por n veces no por otra cadena
c=a*3
print(c)


PROGRAMA 7

#U2_CAD 2
correo=15
print("el valor de correo es: ",correo) #MUESTRA EL VALOR QUE TIENE CORREO
correo=correo+5 #AUMENTA EN 5 LA VARIABLE
print(correo) #MUESTRA EL NUEVO VALOR




PROGRAMA 8
#U2_ CAD 3

f=True
g=False
print("AND ", f and g)#MUESTRA EL RESULTADO DE HACER LA OPERACION AND CON f Y g

a='hola'
b="que tal"

#Cadena
c="""  
aquie nada mas
sigo esscribiendo
y escibo
bla bla
bla bla
bla
""" #ESTA CADENA RESPETA LOS ESPCIOS EN BLANCO Y LOS SALTOS DE LINEA
print(a) #MUESTRA LAS VARIABLES EN PANTALLA
print(b)
print(c)

#imprimir tipo de variables de f.g.a.b.c

print("tipo de f",type(f))
print("tipo de g",type(g))
print("tipo de a",type(a))
print("tipo de b",type(b))
print("tipo de c",type(c))




PROGRAMA 9
#U2_NUM6

a= 21
b=10
c=0

c=a+b
print ("VALOR DE SUMA" , c)#SUMA

c=a-b
print ("VALOR DE RESTA" , c)#RESTA

c=a*b
print ("VALOR DE MULTIPLICACION" , c)#PRODUCTO

c=a%b
print ("VALOR DE MODULO" , c)#RESIDUO

c=a/b
print ("VALOR DE DIVISION " , c)#DIVISION




#PROGRAMA 10
#U2_NUM7

a=10
b=20
c=0

c=a+b

print ("VALOR DE C ES: ", c)

#SUMA CON OPERADOR DE ASIGNACION
c+=a #ESTO ES LO MISMO QUE C= C+A
print ("VALOR DE C ES: ", c)

#PRODUCTO CON OPERADOR DE ASIGNACION
c*=a #ESTO ES LO MISMO QUE C= C*A
print ("VALOR DE C ES: ", c)

#DIVISION CON OPERADOR DE ASIGNACION
c/=a #ESTO ES LO MISMO QUE C= C/A
print ("VALOR DE C ES: ", c)

c=2
#MODULO CON OPERADOR DE ASIGNACION
c%=a #ESTO ES LO MISMO QUE C= C%A
print ("VALOR DE C ES: ", c)

#EXPONENTE CON OPERADOR DE ASIGNACION
c**=a #ESTO ES LO MISMO QUE C= C**A
print ("VALOR DE C ES: ", c)

#DIV ENTERA CON OPERADOR DE ASIGNACION
c//=a #ESTO ES LO MISMO QUE C= C+A
print ("VALOR DE C ES: ", c)





#PROGRAMA 11
#LISTA 1

par =[2,4,6,8]
print (par)
print (par [1]) #SE IMPRIME EL 2DO DE LA LISTA PORQUE
                # SE EMPIEZA DESDE LA POSICION 0
             
otra =["HOLA", "1", "3.14", True]
print (otra)
print (otra [0])
#cad= "HOLA"
cad= otra [0] #LA NUEVA CADENA ES IGUAL AL ELEM 0 DE LA CADENA otra
print (cad[1]) #MUESTRA ELEMENTO DE LA POSC 1 DE LA NUEVA CADENA
print (otra [0] [1]) #SE VA A LA CADENA otra Y BUSACA EL ELEMENTO 0, Y MUESTRA
                     # EL ELEMENTO DE LA POSICION 1




#PROGRAMA 12  COMPARADORES

a=10
b=1

#is ES PARA IDENTICOS
print (a is b)
print (a==b)
print (a is not b) #NO IDENTICO
print (a!=b) #DIFERENTE
c=[1,2,3,4,5]
print (4 in c) #PREGUNTA SI ESTA O SE ENCUENTRA
print (5 not in c) #PREGUNTA SI NO SE ENCUENTRA


#DECLARAR EL 25 EN OCTAL Y BINARIO
#PREGUTAR SI SON IGUALES O IDENTICOS

print ("AQUIII")
d = bin (25)
print (d)
e= oct (25)
print (e)
print ("IDENTICOS? ", d is e) #TOMA LOS NUEMROS EN SUS BASES Y LOS COMPARA
print ("IGUALES? ", d==e)

A1=2
A2= 2
print ("")
print ("IDENTICOS? ", A1 is A2)
print ("IGUALES? ", A1==A2)





#PROGRAMA 13
#LISTS 2

c1= ["CARLOS", "LALO", "LORENZO", "CARLOS", "MALO"]
print ("LALO" is c1) #PREGUNTA SI "LALO" ESTA EN LISTA c1
d= [1,2,c1] #DECLARA NUEVA LISTA COMN ELEMENTOS 1,2, Y LOS DE LA ANTERIOR c1
print ("d", d) #MUESTRA LISTA EN PANTALLA
print ("d [2][1]", d[2][1]) #SE DIRIGUE EL 2 ELEMENTO DE LA LSITA d Y MUESTRA  EL ELEMENTO 1 DE d
print ("d [2][0]", d[2][0]) #LA SUBLISTA C1 LA CADENA 0

print (d [2][1]) #CADENA 1
print (d [2][2]) #CADENA 2
e= d[2][1]  #DECLARA NUEVA LISTA e  QUE TIENE LA CAENA 1 DE LA SUB C1
print ("e[3]", e[3]) #MUESTRA EL ELEMENTO EN LA POSC 3 DE LA LISTA e





#PROGRAMA 14
#lista  3


#DECLARACION DE LISTA VACIA
lista =[]
lista1=list ()

print (lista)
print (lista1)#MUESTRA LAS LISTAS VACIAS
print ("\n")
li=[22, True, "UNA LISTA", [1,2]]#LISTA CON ELEMENTOS
print (type (li[3]))#MUESTRA EL TIPO DE VARIABLE DEL ITEM DE LA LISTA li
                    #PARA CONTAR ELEMENTOS SE EMPIEZA DESDE LA POSC 0


#VAR DEBERA TENER EL 1
var= li[-1][0] #EMPIEZA DESDE LA ULTIMA POSICION DE LA LISTA
               # DERECHA A IZQUIERDA
print (var)

#VAR1 BEBERA TENER LA ULTIMA a DE LA LISTA
#INICIO FIN

var1= li[2][-1] #EMPIEZA DE IZQ A DERECHA
print (var1)

print ("")#SALTO DE LINEA

#INICIO: FIN :SALTO

var2=li [0:4:3] #SALTA DE 2 ELEMENTOS EMPEZANDO DESDE LA POSC 0
print ("SALTO", var2)
#MUESTRA EL ELEMENTO DE LA POSC 0

print ("")

#INICIO: FIN SALTO

var2=li [:3:] #cuando omiten el ppo LO TOA COMO 0 Y SI SE OMITYE EL
              # FINAL SE ASUME 1
print ("SALTO2", var2)

print ("")

#INICIO: FIN SALTO

var2=li [0:5:3] #SALTA DE 2 ELEMENTOS
print ("SALTO3", var2)

#UN SOLO SALTIM  var2=li[1]

print ("")
cad="superextracalificadistico"
print ("PALABRA GRANDE", len (cad)) #LENCAD ES PARA DETERMINAR LA LOMGITUD DE LA CADENA
c=cad[0:18:3] #SEXALI SON LAS LETRAS QUE SE MOSTRARN EN EL SALTO
print ("MARY", c)
d=cad[0:len(cad):3]#CON LEN CAD SE TOMA TODAS LAS LETRAS DE LAS CADENAS
print ("D", d)


#VAR TENGA LISTA
var3= li [2][4:]
print (var3)
#li=[22, True, "UNA LISTA", [1,2]]
#LPONER EN UNA VARIABLE a i a DE una lista
#var4 =li[2][2:9:3]
var4=li [2][2::3]
print (var4)


lis =[22, True, "dos", "otro", ["45", "cien"]]
print ("original", lis)
lis [0] =99
print ("despues", lis)
lis [1:3] = [False, "tres"]
lis [1:4] = [False, "tres", "miedo"]
print (lis)
lis [1:3] =["hola"]
print ("hola     ", lis)




#PROGRAMA 15
#LISTA 4


l=["99", True , "UNA LISTA"]
print ("lita moriginal", l)
m=l[1:]
print (m)
#TODO
m1=l[:2] #POSC 0,1
print (m1)

m2=l[:]#TODO

print(m2)

m3=l[::2] #SALTA UNO SI UNO NO- SALTO DE UNO EN UNO
print (m3)

l[0:2]=[5,2]#SUSTITUCION LOS PRIMEROS DOS ELEMENTOS
print (l)


print ("\n---------------------------")

estud=["JOSE", "HIDALGO", "MARIA", "MIGUEL", "HIDALGO", "antonio", "IGNACIO"]
print ("SON: "  ,len(estud), "ESTUDIANTES")

estud.insert(3, "LIZ")#ISERTA ELEMENTO DESPLAZANDO ALOS DEMAS
print(estud)

print ("\n---------------------------")

#AGREGA AL FINAL
estud.append("OSCAR") #AGREGAR OTRO, SIN DEPLAZAR
print(estud)




print ("\n---------------------------")

estud.extend(["DARIO", "BETO", "BRAYAN"]) #AGREGAR OTROS, SIN DEPLAZAR
print(estud)



print ("\n---------------------------")

#BUSCA LA POSCIICN EN LA LISTA DE UN ELEMENTO

print(estud.index("HIDALGO"))


print ("\n---------------------------")

#BORRAR UN ELEMNTO
estud.remove ( "LIZ" )
print ("BORRADO", estud) #BORRA AL PRIMERO QUE ENCUANTRE
#

print ("\n---------------------------")

print ("NUEVA")
nueva=list(set(estud))
print ("repetidos?:? ", nueva)

#SPLIT

print ("SPLIT\n---------------------------")

a= "1-2-3-4-5-6".split("-") #acompañado siempre del cracter con que se separa
print (a)
b= "h o l a"
c=b.split (" ")
print (c)
d="1234*2345*4572"
d=d.split("*")
print (d)




#PROGRAMA 16
#DISEÑE UNA LISTA CON 10 ELEMENTOS Y SUME

num = [1,2,3,4,5,6,7,8,9,10]
suma1=num[0:len(num):2]
print ("\n", suma1)
suma2= num[1:len(num):2]
print ("\n", suma2)

total=[suma1[0]+suma2[0], suma1[1]+suma2[1], suma1[2]+suma2[2], suma1[3]+suma2[3],suma1[4]+suma2[4]]
print (total)
print ("\n", type (total))





#PROGRAMA 17
#LISTA 5

print (9+6)

if 5>6:
 print ("mayor") #identacion

else:
 print ("menor") #identacion



lista1=[2,12,4,5,67,8,3,4,5,3]
print (len(lista1))#len() da la longitud de la lista
print(max(lista1))#valor maximo de la cadena
print (min(lista1))#valor minimo de la lista
lista1.append(4) #agrega al final un 4

print (lista1.count(0))#cuanta el argumento en items, cuntos numeros de items hay


maximo=max(lista1)#asignacion de vcalo
print ("INDICE MAX", lista1.index(maximo))#cuante indeice desde 0

lista1.sort()
print("lista ord", lista1) #ordena mayor menor

lista1.reverse()
print("lista reves",lista1)#ordena menor mayor

print("POP:  ", lista1.pop()) #elimina el ultimo elemento
print(lista1)

print("eliminar:", lista1.remove(4)) #elimina el primer 4 que ve
print(lista1) del lista1[2] #bvorra por indicerint(lista1)




#PROGRAMA 18
#COLOR 1

from colorama import Fore, Back, init, Style
#DE LA LIBRERIA COLORAMA TRAE SOLO 3 ESTILOS


init()  #inicializa los colores importados de la libreria

print(Fore.GREEN+ "PROGRAMACION VISUAL")#COLOR FRENTE
print(Back.RED+ "PROGRA VISUAL")#FONDO
print ("")

print(Back.RED+Fore.YELLOW+ "P VISUAL")
print (Back.RESET+Fore.RESET+ "TEXTO NORMAL") #RESET REGRESA ALK TEXTIO ORIGINAL

print("")
print (Style.DIM+ "RECURSO PYTHON DIM")#ESTILO DE LETRA DIM
print (Style.NORMAL+ "RECURSOS PYTHON")#ESTULO NORMAL
print (Style.BRIGHT+ "OTROS RECURSOS PYTHON")#RECURSO BRILLOSO

print("")

print (Fore.RED+ "TEXTO ROJO") #FRENTE ROJO

print (Fore.GREEN+ " Y TEXTO VERDE") #FRENTE VERDE
print (Style.DIM+ "CON DIM") #ESTILO DIM
print (Style.RESET_ALL) #REGRESA AL TEXTO ORIGINAL
print ("NORMALIDAD OTRA VEZ")

#https://www.geeksforgeeks.org/print-colors-python-terminal/
#sitio para buscar mas colores de terminal





#PROGRAMA 19
#COMPLEJO 1

from sympy import I, sqrt #IMPORTAR DE LA LIBRERIA SYMPY

a= sqrt ((3) +I)

print (a)

'''
SI NO SE CUENTA CON LA LIRERIA SYMPY USAR ESTO EN LA CONSOLA RASPBERRY
sudo apt install python3-pip
sudo pip3 install sympy
sudo pip3 install numpy
sudo pip3 install matplotlib

EN CONSOLA PYTHON
pip install "NOMBRE DE LA LIBRERIA"

'''



#PROGRAMA 20
#COMPLEJO 2


from sympy import I, simplify
#I ES EL IMAGINARIO i

print (simplify (6/(2-I)))
#SUMA

print ((-3+3*I)+ (7-2*I))

#RESTA

print ((5+3*I)-(-3*I))

#MULTIPLICAR
print ((5*I)*(-3*I))

#MULTIPLICAR Y SIMPLIFICAR
print (simplify ((6+8*I)*(4+2*I)))




#PROGRAMA 21
#COMPLEJO 3

from __future__ import division

from sympy import *#IMPORTA TODA LA LIBRERIA
#from sympy import arg, Abs, conjugarte, sqrt, I

#I ES EL IMAGINARIO i

a=sqrt (3) +I
print (conjugate (a))#CONJUGADO
print (Abs (a))#VALOR ABSOLUTO
print (arg(a))#ARGUMENTO




#PROGRAMA 22
#COMPLEJO 4

from sympy.functions import Abs
print (Abs(-1))#VALOR ABSOLUTO DE -1




#PROGRAMA 23
#COMPLEJO 5

from sympy import I , simplify
#I ES EL IMAGINARIO i
print (symplify (1+I)/(1+2*I)))



#PROGRAMA 24
#COMPLEJO 6


from sympy import arg, conjugate, sqrt, I
from math import*
a=sqrt(2)+I
print (conjugate(a))#MUESTRA EL CONJUGADO
print (abs(a))#MUESTRA EL VALOR ABSOLUTO
print (arg(a))#MUESTRA EL ARGUMENTO
c= arg(a).evalf()
print(c)



#PROGRAMA 25
#COMPLEJO 7
from sympy import Symbol,E,I,re #IMPORTA LO QUE SE OCUPA DE LA LIBRERIA
#I ES EL IMAGINARIO i
x=Symbol('x', real=True)

a=E**(I*x)#EXPONENCIAL DE UN COMPLEJO


b=a.expand(complex=True)#FORMA EXPANDIDA/POLAR DE UN COMPLEJO
print(b)

c=a**3#COMPLEJO ALA POTENCIA 3
d=c.expand(complex=True).expand(trig=True)#EXPANDE EL COMPLEJO

print (d)
print (re(d))#MUESTRA EN PANTALLA

f=c.expand(complex=True)
print(re(f))

res=(re(f)-re(d)).expand(trig=True)#MUESTRA LA RESTA
print (res)#RESULTADO FINAL



#PROGRAMA 26
#COMPLEJO 8

from sympy import Symbol, solve, I
x=Symbol ('x')
print (solve(x**4-I,x))
print ("-------------------")
#ES DIFERENTE
a= solve(x**4 -I,x)#AL IGUALARLO A UNA VARIABLE ,
                   #SE MANEJA COMO LISTAS, RECORRE DE 1 EN 1 CADA ELKEMETO DE
                   ##LA LISTA Y LO RESUELVE
print (a)
print ("---------------------")
for b in a:
 print (b.evalf())



#PROGRAMA 27
#CADENA 1

x1=5
y1=5
x2='hola'
y2='hola'
x3=[1,2,3]
y3=[1,2,3]

print ("NO SON IDEMTICOS ?: ", x1 is not y1)#PREGUNTA SI "" NO ES IDENTICO A ""

print (" NO SON IGUALES: ", x1 is y1 ) #PREGUNTA SI "" NO ES IGUAL A ""

print ("?", x2 is y2)#MUESTRA RESULTADO
print (" ?", x2 is not y2)#MUESTRA EL RESULATDO

print ("?", x3 is y3)



#PROGRAMA 28
#CADENA 2

NOMBRE= "Luis"
print(len (NOMBRE))
print(NOMBRE[1:4])#IMPRIME 3 ITEMS DESDE EL ELEM POSCION 1
print(NOMBRE[0:7])# IMPRIME 6 ITEMS DESDE LA POSC 0
print(NOMBRE[:3])# IMPRIME 3 ITEMS, EMPEZANDO DESDE 0
print(NOMBRE[3:])# IMPRIME LOS ITEMS DESE LA POSC 3
print(NOMBRE[:])# MUESTRA TODO EL NOMBRE
print(NOMBRE)#
print(NOMBRE[0])# MUESTRA EL ELEMENTO DE POSC 0
media=len(NOMBRE)//2 # MUESTRA LA LETRA DE ENMEDIO
print(NOMBRE[media]) #
print(NOMBRE[-1])#MUESTRA LA POSC -1, RECORRE DE ATRASAHCIA ADELANTE


#PROGRAMA 29
#CADENA 3

fruta  ="manzana"#VARIABLE TIPO CADENA
print (fruta[0])#MUESTRA ELEMENTO DE LAS POSC 0 Y SIGUE HASTA LA 6
print (fruta[1])
print (fruta[2])
print (fruta[3])
print (fruta[4])
print (fruta[5])
print (fruta[6])# MUESTRA AL FINAL LA VARIABLE CON LETRAS EN ORDEN DESCENDENTE
print("")
print (fruta[-1]) #MUESTRA ELEMENTO DE LAS POSC -1 Y SIGUE HASTA LA -7
print (fruta[-2])
print (fruta[-3])
print (fruta[-4])
print (fruta[-5])
print (fruta[-6])
print (fruta[-7]) # MUESTRA AL FINAL LA VARIABLE CON LETRAS EN ORDEN ASCENDENTE

print ("LONGITUD DE CADENA FRUTA, ", len(fruta))#MUESTRA LONGITUD DE LA CADENA
lon=len(fruta)
print (len("MANZANAS BLÑANCAS")) #MUESTRA LONGITUD DE UNA CADENA EN ECPECIAL
print("ENCUENTRE CARACTER", fruta.find("n"))#BUSCA EL CARACTER SOLICITADO Y MUESTRA CUANTOS ENCONTRO




#PROGRAMA 30
#CADENA 4

cadena="HOLA"
cadena2='HOLA HOLA'
cadena3=""" MAS HOLAS\n pero difer\nte"""
print(cadena)
print(cadena2)
print(cadena3)#MUESTRA LAS 3 CADENAS




#PROGRAMA 31
#CADENA 5

blog="MI DIARIO EN PYTHON"#CADENA
print("PYTHON" in blog)#MUESTRA SI ESTA PALABRA ESTA EN LA CADENA
print ("Inicia en: ", blog.find("PYTHON"))#MUESTRA POSC DE LA PALABRA UBICADA
print ("ARI"  in blog)#MUESTRA SI ESTA PALABRA ESTA EN LA CADENA
print ("hola"  in blog)#MUESTRA SI ESTA PALABRA ESTA EN LA CADENA

print ("SALTO \n" )#SIGNO DE SALTO DE LINEA
print ("soy  \t TABLULADOR")#SIGNO DE TABULADOR
print ("soy una \\ contrabarra")#CONTABARRA
print ("SOY UNA \' COMILLA SIMPLE")#COMILLA SIMPLE
print ("soy una \" DOBLE COMILLA")#DOBLE COMILLA


print("ENCUENTRRE", blog.find("EN"))
print ("EN" not in blog)#MUESTRA SI "EN" NO ESTA EN blog
print ("HOLA" not in blog) #MUESTRA SI "HOLA" NO ESTA EN blog



#PROGRAMA 32
#TUPLA 1

soytupla=(1,2,3,4,5)
#ARREGLO DE NUMEROS QUE NO SE MUEVEN DE SU LUGAR

print(type(soytupla))

lista=[1,2,3]
print(type(lista))
otratupla=("hola", "1", "soy", "2.65", "algo lista",  """" p\n con\t""")
print(otratupla)
print(otratupla[0])#PRIMER ELEMNTO
print(otratupla[:3])# 3 ITEMS DESDE EL ITEM DE INICIO
print(otratupla[2:])#MUESTRA DESDE EL ITEM 2
print(otratupla[1:4])#MUESTRA 3 ITEMS DESDE EL ITEM 1
print(otratupla[5])

#LAS LISTAS SON CONTENEDORES DE ELEMTOS MODIFICABLES
#TUMPLAS SON CONTENEDORES CON ELEMENTOS INMUTABLE




#PROHRAMA 33
#TUPLA 2

mi_tupla=() #tupla vacia


mit=(1,2,3) #CON ELEMENTOS
mitm=(1,2,"HOLA", 3.14)#MIXTA

#TUPLA VARIAS

mitmv=("raton", [8,4,3], (1,2,3))#TUPLA CON LISTA DENTRO DE ELLA
lista=[1,2,3]
tup=(lista)


#LAS TUPLAS SE PUEDEN CREAR SIN PARENTESIS

mi=3,4.5,"HOLAA"
a,b,c=mi #ASIGNACION DE VARIABLES INDEPENDIENTES TIPO INTERACTIVAO


print(type(a))#MUESTRA EL TIPO DE ELEMENTO DE a EN LA TUPLA
print(type(b))#MUESTRA EL TIPO DE ELEMENTO DE b EN LA TUPLA
print(type(c))#MUESTRA EL TIPO DE ELEMENTO DE c EN LA TUPLA



#PROGRAMA 34
#TUPLA 3

n_tup=("RATON", [1,2,3], (4,5,6))
print (n_tup[0][3])
print (n_tup[1][0])#IMPRIME EL '1', SE VA AL ITEM 1, SUB ITEM 0

#CAMBIEN EL 3 POR UN 8

n_tup[1][2]=8
print (n_tup[1])



#PROGRAMA 35
#TUPLA 4

#LAS TUPLAS SE PUEDEN CONCATENAR/SUMAR/FUSDIONAR

print((1,2,3)+(4,5,6))
#REPETIR
print (("REPETIR POR 3") *3)


t1=("a", "b", "c")#DECLARACION DE TUPLA
t2=(3,4,6)
t3=("r","e", "p")

t4=t1+t2+t3# TUPLA DECLARADA COMO LA UNION DE OTRAS
print (t4) #UNE 3 TUPLAS

t5=(t2)*3
print ("P0R 3",t5)#MUESTRA 3 VECES LA TUPLA



#del tup[3], NO PUEDE BORRAR LA ENTRADA DE UNA TUPLA

del t4 #BORRA TODA LA TUPLA

mitupla=('s','h','a', 'a','p','i', 'e')
print (mitupla.count('a'))
print(mitupla.index('h'))

#OPERADOR IN

print('i' in mitupla)

#OPERADOR NOT IN 
print ('e' not in mitupla)





#PROGRAMA 36
#OPERACIONES DE IMPRESION

import sys

sys.stdout.write("HOLA TU")
sys.stdout.write("HOLA YO")

print("\n")
print("HOLA COMO ESTAS?"   , end ='')#EL end='' suprime el salto de linea
print("ALGO BIEN, CREO")

print("\n")

print ("HOLA"+ " "+ "CASI")#SUMA CADENAS
print("OTRA", "VEZ HOLA")
print ("OTRA", 3, "VEZ HOLA")
print ("cUESTA %d  %s" %(3 , "PESOS")) #IMPRESION TIPO LENGUAJE C

print("\n")


#DEFAULT IMPLICIT ORDER, ORDEN IMPLICITO DADO
mio="{} \t {} \t {} \t".format('ESTUDIANTE', 'EDAD', 'ESTATURA')#DEACUERDO A COMO SE PUSIERON ESTOS DATOS
                                                                #SE IMPRIMIRAN EN ESE ORDEN
dato1="{} \t\t {} \t {}".format('BRAYAN', '20', '1.90')
dato2="{} \t\t {} \t {}".format('HARO', '20', '2.00')
#IMRESION TIPO TABLA

print(mio)
print(dato1)
print(dato2)
#MUESTRA LAS IMPRESIONES

print("\n")


cad1="HOLA " #CADENA
cad2="AGAIN   "#OTRA CADENA
cad3=" "
print("SUMA DE DOS VARIABLES ", cad1+cad3+cad2)#MUESTRA LA UNIOS DE 3 CADENAS



print("\n")


#ARGUMENTO DE POSICION

posc="{1}, {0} y {2}".format('RUBEN', 'MARIA', 'PEDRO')#ORDEN A DESEO DE ARGHUMNETOS
print("POSICIONES: ", posc)

print("\n")

#CON LLAVES PARA ARGUMENTOS


llave_orden="{p}, {js} y {p}".format(js='JUAN', mk='MARIA', p='PEDRO')
print ("ORDEN:"  , llave_orden)



print("-----------------------\n")

print("linea1\
linea2\
linea3")

print("\\")
print("que\aes")
print ("HOLA \b MUNDO")#BACKSATGE
print ("HOLA \f MUNDO")##FROMFEED
print ("HOLA \n MUNDO")#LINEFEED
print ("HOLA \r MUNDO")#CARRING RETURN
print ("HOLA \t MUNDO")#HORIZONTAL TAB
print ("HOLA \v MUNDO")#VERTICAL TAB

#\n NUEVA LINEA

print ("\110\145\154")# CHARACTER WITH OCTAL VALUE HH
print ("\x48\x65")#CHARACTYER WITH VALUE HEXADECIMAL HH

'''
%c CARACTER
%s CADENA
%i ENTERO
%d DECIMAL
%u ENTERO DIN SIGNO
%o OCTAL
%xHEXADECIMAL
%X
%e EXPONENCIAL
%E
%f FLOTANTE
%G FLATANTE CORTO
%g


'''


PROGRAMA 37
#DICCIONARIO 1

import operator

maestros={'Mediciones':'Raul','Control':'Piña','Fundamentos':'De Lira','Circuitos':'Barroso'}

print(maestros['Control'])

del maestros ['Fundamentos']#ELIMINA UN ELEMENTO

print(len(maestros))#MUESTRA LA LONGITUD DEL DICC

maestros['Control']='Sanchez' #CAMBIA LO QUE ESTA ASOCIADO A 'CONTROL'

print(maestros)#MUESTRA CAMBIO

print(maestros.get('Control'))#RECIBE COMO PARAMETRO UNA CLAVE

print(maestros.keys())#KEYS RETORNA UNA LISTA DE ELEMENTOS CLAVE O LLAVE

print(maestros.values())#VALUES RETORNA UNA LISTA DE ELEMENTOS DE VALORES

maestros.clear()#ELIMINA LOS ELEMENTOS DEL DICCIONARIO DEJANDOLO VACIO
print(maestros)



PROGRAMA 38
#DICCIONARIO 2

import operator
midic={"a":2, "b":3,"d":4,"c":5}
print(midic)

res=sorted(midic.items(),key=operator.itemgetter(1))
#CREA UNA LISTA DE TUPLAS CON LOS ELEMENTOS DEL DICC
                                                   

print(res)




PROGRMAA 39
#DICCIONARIO 3

dicc={'a':True,'5':'Soy cadena xD','a':100,'a':False}
dicc['c']='nueva cadena'
print(dicc)

dicc['a']=False
print(dicc)
valor=dicc.get('a',(5,2))#LOS BOOLEANOS NO SON CADENAS
print(valor)
valor=dicc.get('5')#EL GET NECESITA UN ARGUMEMTO PARA FUNCIONAR
print(valor)


llaves=tuple(dicc.keys())#TUPLA CON LLAVES DEL DICC
valores=tuple(dicc.values()) #TUPLA CON VALORES DEL DICC
print('llaves',llaves)
print('valores',valores)
dicc_m={'z':23,'w':88}
dicc['z']=dicc_m['z']
dicc['w']=dicc_m['w']
dicc.update(dicc_m) #ACTUALIZA EL DICCIONARIO AÑADIENDO ELEMENTOS
print("DICCIONARIO ACTUALIZADO",dicc)




#PROGRAMA 40
#DICCIONARIO 4

edad={"CARLOS": 32, "PABLO": 20, "ANDRES": 25}

print(edad["PABLO"])
print(edad.items())
print(edad.keys())
print(edad.values())

#ACTUALIZAR


edad.update({"PABLO":21})#ACTUALIZA DIRECTAMEMNTE EL ITEM DEL DICC
print(edad)

edad.update({"JUAN":18})#AGREGA UN NUEVO ELEMNTO
print(edad)


mat={}
mat['LUNES']=[3250, 5987, 2569]
mat['MARTES']= [5621, 5897, 4789]
print(mat)


nom= input ('DAME TU NOMBRE:  ')#MUESTRA LETRERTO EN PANTALLA PARA PEDIR DATOS
                                #POR TECLADO
print (nom)




#PROGRAMA 41
#PROYECTO1


horario={} # DECLARACION DE DICCIONARIO VACIO

nombre=input('NOMBRE: ') #PIDE NOMBRE AL USUARIO
print(nombre)

'''SE PIDEN LAS MATERIAS QUE SE TOMAN DE LUNES A VIERNES
COMENZANDO POR LAS PRIMERAS QUE SE TOMAN '''


print('LUNES') #DIA DE LA SEMANA PARA INTRODUCIR MATERIAS

mat1= input('MATERIA 1:  ') #MATERIA 1
mat1_1= input('MATERIA 2:  ')
mat1_2= input('MATERIA 3:  ')
mat1_3= input('MATERIA 4:  ')
mat1_4= input('MATERIA 5:  ') #MATERIA 5

materiaslun=[mat1, mat1_1,  mat1_2, mat1_3, mat1_4]
#DECLARACION DE LISTA CON LAS MATERIAS DEL LUNES



print('MARTES') #MATERIAS DEL MARTES

mat2= input('MATERIA 1:  ')
mat2_1= input('MATERIA 2:  ')
mat2_2= input('MATERIA 3:  ')
mat2_3= input('MATERIA 4:  ')
mat2_4= input('MATERIA 5:  ')
materiasmar=[mat2, mat2_1,  mat2_2, mat2_3, mat2_4]
#DECLARACION DE LISTA CON LAS MATERIAS DEL MARTES


print('MIERCOLES') #MATERIAS DEL MIERCOLES

mat3= input('MATERIA 1:  ')
mat3_1= input('MATERIA 2:  ')
mat3_2= input('MATERIA 3:  ')
mat3_3= input('MATERIA 4:  ')
mat3_4= input('MATERIA 5:  ')
materiasmier=[mat3, mat3_1,  mat3_2, mat3_3, mat3_4]
#DECLARACION DE LISTA CON LAS MATERIAS DEL MIERCOLES

print('JUEVES') #MATERIAS PARA EL JUEVES
mat4= input('MATERIA 1:  ')
mat4_1= input('MATERIA 2:  ')
mat4_2= input('MATERIA 3:  ')
mat4_3= input('MATERIA 4:  ')
mat4_4= input('MATERIA 5:  ')
materiasjuev=[mat4, mat4_1,  mat4_2, mat4_3, mat4_4]
#DECLARACION DE LISTA CON LAS MATERIAS DEL JUEVES


print('VIERNES') #MATERIAS DEL VIERNES
mat5= input('MATERIA 1:  ')
mat5_1= input('MATERIA 2:  ')
mat5_2= input('MATERIA 3:  ')
mat5_3= input('MATERIA 4:  ')
mat5_4= input('MATERIA 5:  ')
materiasvier=[mat5, mat5_1,  mat5_2, mat5_3, mat5_4]
#DECLARACION DE LISTA CON LAS MATERIAS DEL VIERNES


h1=(mat1, mat2, mat3, mat4, mat5) #TUPLA CREADA CON LAS PRIMERAS MATERIAS INTRODUCIDAS
h2=(mat1_1, mat2_1, mat3_1, mat4_1, mat5_1) #TUPLA CREADA CON LAS SEGUNDAS MATERIAS INTRODUCIDAS
h3=(mat1_2, mat2_2, mat3_2, mat4_2, mat5_2) #TUPLA CREADA CON LAS TERCERAS MATERIAS INTRODUCIDAS
h4=(mat1_3, mat2_3, mat3_3, mat4_3, mat5_3) #TUPLA CREADA CON LAS CUARTAS MATERIAS INTRODUCIDAS
h5=(mat1_4, mat2_4, mat3_4, mat4_4, mat5_4) #TUPLA CREADA CON LAS QUINTAS MATERIAS INTRODUCIDAS


horario1={"7-8": h1, "8-9": h2, "9-10": h3, "10-11": h4, "11-12": h5}
#SE ASOCIAN LAS CLAVES DE LAS HORAS DE LAS MATERIAS CON LAS TUPLAS PREVIAMENTE DECLARADAS

arriba= "{}\t {}\t {}\t{}\t {}\t {}\t".format ('HORA', 'L', 'MA', 'MI','J', 'V')
#ENCABEZADO PARA DAR FORMATO DE TABLA

print(arriba) #MUESTRA ENCABEZADO
print("7-8", horario1["7-8"]) #MUESTRA LAS MATERIAS DE LA PRIMER CLAVE/HORA
print("\n")
print("8-9", horario1["8-9"]) #MUESTRA LAS MATERIAS DE LA SEGUNDA CLAVE/HORA
print("\n")
print("9-10", horario1["9-10"])#MUESTRA LAS MATERIAS DE LA TERCER CLAVE/HORA
print("\n")
print("10-11", horario1["10-11"])#MUESTRA LAS MATERIAS DE LA CUARTA CLAVE/HORA
print("\n")
print("11-12", horario1["11-12"])#MUESTRA LAS MATERIAS DE LA QUINTA CLAVE/HORA




#PROGRAMA 42
cadena1='tengo una yama que Yama se llama'
lista1=['pera', 'manzana','naranja', 'uva']
longitud=len(cadena1)

elem=len(lista1)
cuenta=cadena1.count('yama')

print("DONDE ENCONTRO A yama",cadena1.find('yama'))
cadena2=cadena1.join('***')#UNIR CADENAS SEPARADA POR UN *
print (" PUSO 3 *: ",cadena2)

lista1=cadena1.split(' ')
print("LISTA DE CADENA",lista1)

tupla1=cadena1.partition(' ')
print("TUPLA DE CADENA", tupla1)


cadena2=cadena1.replace('yama', 'cabra', 1)

print("REEMPLAZO", cadena2)


numero=3.14
cadena3= str(numero)
if  cadena1.startswith('tengo'):
 if cadena1.endswith('llama'):
  if cadena1.find ('llama')!=-1:
   print('si')
  else:
   print('no')






cadena4='Python'
print('[0:4]',cadena4[0:4])
print('[1]',cadena4[1])
print('[:3]',cadena4[:3])
print('[:-3]',cadena4[:-3])


cadena5='abs;123'

print('rstrip', cadena5.rstrip())#suprime (\b\t\n\r) derecha
print('lstrip', cadena5.lstrip())#suprime (\b\t\n\r) izquierda



print('strip', cadena5.strip())#suprime (\b\t\n\r)
print ('strp',cadena5.strip("1234567890"))

cadena6='mar'
print (cadena6.upper())
print (cadena6.lower())







#PROGRAMA 43
#PROYECTO 2

''' CAPTURE 3 CADENAS QUE CONTENGAN FRASES DE UNA CANCION
PREGUNTE SI EN LA CANCION ESTA LA PALABRA AMOR
DE SER CIERTO IMPRIMA LA POSICION
PREGUNTE SI LA CANCION INICIA CON ERA Y TERMINA CON VEZ
DE SER ASI IMPRIMA SI ES UN CUENTO
DE LO CONTRARIO MUESTRE NO ES UN CUENTO
UNA TODA LA CANCION EN UNA VARIABLE '''

cad1= input ("DAME CAD1 DE FRASES MUSICALES ")
cad2= input ("DAME CAD2 DE FRASES MUSICALES ")
cad3= input ("DAME CAD3 DE FRASES MUSICALES ")
#SE PIDEN 3 CADENAS DE CARACTERES

if cad1.find('AMOR')!=-1:
    print ("EN CAD 1 SI HUBO AMOR")
    print("POSC",cad1.find('AMOR'))

'''SI EN LA CADENA 1 SE ENCUENTRA
LA PALABRA AMOR, MUESTRA UN LETRER0 Y LA
POSCION DONDE SE ENCONTRO LA PRIMER PALABRA'''



if cad2.find('AMOR')!=-1:
    print ("EN CAD 2 SI HUBO AMOR")
    print("POSC",cad2.find('AMOR'))

'''SI EN LA CADENA 2 SE ENCUENTRA
LA PALABRA AMOR, MUESTRA UN LETRER0 Y LA
POSCION DONDE SE ENCONTRO LA PRIMER PALABRA''' 



if cad3.find('AMOR')!=-1:
    print ("EN CAD 3 SI HUBO AMOR")
    print("POSC",cad3.find('AMOR'))

'''SI EN LA CADENA 1 SE ENCUENTRA
LA PALABRA AMOR, MUESTRA UN LETRER0 Y LA
POSCION DONDE SE ENCONTRO LA PRIMER PALABRA''' 


cad4=cad1+cad2+cad3
#SE DECLARA OTRA CADENA QUE ES LA UNION DE LAS 3 CADENAS PREVAS


print(cad4)#MUESTRA CADENA

if cad4.startswith("ERA ") and cad4.endswith(" VEZ"):
    print("ES CUENTO")
else:
    print("NO ES CUENTO")
'''SI EN LA NUEVA CADENA SE DETECTA QUE COMIENZA CON UN 'ERA' Y TERMINA
CON UN 'VEZ'  MUESTRA QUE ES CUENTO DE LO CONTRARIO MUESTRA NO ES CUENTO'''




#PROGRAMA 44
#DATOS POR TECLADO


cantidad = int(input("Dígame una cantidad en pesetas: ")) #PIDE CANTIDAD ENTERA
print(cantidad, "pesetas son", cantidad / 166.386, "euros") #MUESTRA EL DATO DIVIDIDO ENTRE 166.386

cantidad = float(input("Dígame una cantidad en euros: ")) #PIDE UN FLOTANTE
print(cantidad, "euros son", cantidad * 166.386, "pesetas") #MUESTRA EL DATO MULTIPLICADO POR 166.386

edad = int(input("Dígame su edad: ")) #PIDE UN ENTERO
print("Su edad son", edad, "años") #MUESTRA EL DATO EN PANTALLA

peso = float(input("Dígame su peso en kg: ")) #PIDE UN FLOTANTE
print("Su peso es", peso, "kg") #MUESTRA EL DATO EN PANTALLA

nombre = input("Dígame su nombre: ") #PIDE UNA CADENA
apellido = input("Dígame su apellido, ", nombre, ": ") #PIDE OTRA CADENA
print("Me alegro de conocerle,", nombre, apellido) #UNE LAS 2 CADENAS

nombre = input("Dígame su nombre: ") #PIDE UNA CADENA
print("Dígame su apellido,", nombre, ": ", end="") #PIDE OTRA CADENA EN LA MISMA LINEA SIN SALTO
apellido = input()
print("Me alegro de conocerle,", nombre, apellido) #UNE LAS CADENAS

nombre = input("Dígame su nombre: ") #PIDE UNA CADENA
print("Dígame su apellido,", nombre + ": ", end="")
apellido = input()
print("Me alegro de conocerle,", nombre, apellido)

nombre = input("Dígame su nombre: ") #PIDE UNA CADENA
apellido = input("Dígame su apellido, " + nombre + ": ") #PIDE OTRA CADENA MOSTRANDO LA ANTERIOR
print("Me alegro de conocerle,", nombre, apellido) #UNE LAS 2 CADENAS SOLICITADAS

numero1 = int(input("Dígame un número: ")) #PIDE UN NUMERO
numero2 = int(input("Dígame un número mayor que " + numero1 + ": ")) #PIDE UN NUMERO MAYOR AL PRIMERO
print("La diferencia entre ellos es", numero2 - numero1) #RESTA LOS NUMEROS

numero1 = int(input("Dígame un número: ")) #PIDE UN NUMERO
numero2 = int(input("Dígame un número mayor que " + str(numero1) + ": ")) #PIDE UN NUMERO MAYOR
                                                                        #AL ANTERIOR MSTRADOLO COMO CADENA
print("La diferencia entre ellos es", numero2 - numero1) #HACE LA RESTA DE NUMEROS

nombre = input("Dígame su nombre: ") #PIDE CADENA
apellido = input("Dígame su apellido, {nombre}: ") #PIDE OTRA CADENA MOSTRANDO LA ANTERIOR
print("Me alegro de conocerle, {nombre} {apellido}") #MUESTRA LAS CADENAS

numero1 = int(input("Dígame un número: ")) #PIDE UN NUMERO
numero2 = int(input(f"Dígame un número mayor que {numero1}: "))
print(f"La diferencia entre ellos es {numero2 - numero1}") #MUESTRA LA DIFERENCIA DE NUMEROS



#PROGRAMA 45
#DIBUJO EN PYTHON PROYECTO 3
Print(("
.....____________________ , ,__
....../ `---___________----_____|] - - - - - - - - ░ ▒▓▓█D 
...../_==o;;;;;;;;_______.:/
.....), ---.(_(__) /
....// (..) ), ----"
...//___//
..//___//
.//___//")






ENTREGABLES:



#ENTREGABLE 1










#ENTREGABLE 2










#ENTREGABLE 3









x=True #DECLARACION DE VARIABLE x TIPO BOOLEAN
y=False # VARIABLE y TIPO BOOLEAN
type(x) #ANALIZA TIPO DE LAS VARIABLES, VAR X
type(y) #VAR Y



#ENTREGABLE 4

lista=["Maria","Rojo","Azul",24,True,45]
print(lista)#MUESTRA LOSTA EN PANTALLA

o_lista=["negro",25.5,"amarillo",56,False]
print(o_lista)

Colores=["rojo","azul","negro","amarillo"]
Colores 0] #ACCEDE ALELEM 0 DE LA LISTA, ROJO
Colores[1]
Colores[2]
Colores[3]#ACCELE AL ELEM 3 DE LA LISTA AMARILLO


#ENTREGABLE 5
'''Funciones y métodos para trabajar con listas'''

estudiantes = ["Jose", "Raul", "Marcelo"]
len(estudiantes)

estudiantes.insert(0, "Maria")#INSERTA UN ELEMENTO DESPLAZANDO
print (estudiantes)
estudiantes.append("Mariela")#INSERTA AL FINAL
print (estudiantes )

estudiantes.extend(["Dario", "Natalia"])#AÑADE MAS ELEMENTOS
print (estudiantes)

estudiantes.index("Raul")  #Retorna el índice del elemento "Raul"

estudiantes.remove("Raul")
print (estudiantes)


print("Hola mi nombre es N****".split() )
print("1-2-3-4-5-6".split("-") )

estudiantes = ["Martin", "Jose", "Raul", "Jose"]
estudiantes_unicos = list(set(estudiantes)) #VE QUIENES SE REPITEN
print (estudiantes_unicos )
estudiantes = ["Jose", "Raul", "Marcelo"]
estudiantes.pop()

estudiantes = ["Jose", "Raul", "Marcelo", "Raul"] #CUANTA CIERTO ELEMENTO
estudiantes.count("Raul")

estudiantes = ["Jose", "Raul", "Marcelo", "Raul"]
estudiantes.reverse() #RECORRE DE ATRAS HACIA ADELANTE
print (estudiantes)

#ENTREGABLE 6

lista1 = ['uno', 2, True] # declara una lista heterogénea
lista2 = [1, 2, 3, 4, 5] # declara lista numérica (homogénea)
lista3 = ['nombre', ['ap1', 'ap2']] # declara lista dentro de otra
lista4 = [54,45,44,22,0,2,99] # declara una lista numérica

print(lista1) # ['uno', 2, True], muestra toda la lista
print(lista1[0]) # uno, muestra el primer elemento de la lista
print(lista2[-1]) # 5, muestra el último elemento de la lista

print(lista3[1][0]) # calle, primer elemento de la lista anidada

print(lista2[0:3:1]) # [1,2,3], responde al patrón inicio:fin:paso
print(lista2[::-1]) # devuelve la lista ordenada al revés

lista1[2] = False # cambia el valor de un elemento de la lista

lista2[-2] = lista2[-2] + 1 # 4+1 → 5 – cambia valor de elemento
lista2.pop(0) # borra elemento indicado o último si no indica

lista1.remove('uno') # borra el primer elemento que coincida

del lista2[1] # borra el segundo elemento (por índice)
lista2 = lista2 + [6] # añade elemento al final de la lista
lista2.append(7) # añade un elemento al final con append()
lista2.extend([8, 9]) # extiende lista con otra por el final

lista1.insert(1, 'dos') # inserta nuevo elemento en posición

del lista2[0:3] # borra los elementos desde:hasta
lista2[:] = [] # borra todos los elementos de la lista

print(lista1.count(2)) # cuenta el nº de veces que aparece 2
print(lista1.index("dos")) # busca posición que ocupa elemento

lista2.sort() # ordena la lista
lista2.sort(reverse=True) # ordena la lista en orden inverso

lista5 = sorted(lista4) # ordena lista destino

tupla1 = (1, 2, 3) # declara tupla (se usan paréntesis)...
tupla2 = 1, 2, 3 # ...aunque pueden declararse sin paréntesis
tupla3 = (100,) # con un elemento hay terminar con “,”
tupla4 = tupla1, 4, 5, 6 # anida tuplas
tupla5 = () # declara una tupla vacía

tupla2[0:3] # (1, 2, 3), accede a los valores desde:hasta



#ENTREGABLE 7




'''CAPTURE 5 EDADES, INGRESELAS EN UNA LISTA
UNA VEZ CAPTURADAS DETERMINE EL PROMEDIO Y AGREGUELO AL FINAL
ORDENE DE FORMA DESCENDENTE LA LISTA Y DESTRUYALA'''

e1= int (input ("EDAD 1: "))

e2= int (input ("EDAD 2: "))

e3= int (input ("EDAD 3: "))

e4= int (input ("EDAD 4: "))

e5= int (input ("EDAD 5: "))


edades=[e1,e2,e3,e4,e5]

promedio= (e1+e2+e3+e4+e5)/5
edades.append(promedio)
edades.sort(reverse=True)
print (edades)

del (edades)




#ENTREGABLE 8
capitales = {'Chile':'Santiago',
'España':'Madrid',
'Francia':'París'}

print('La capital de Chile es', capitales['Chile']) # 'Santiago'

del capitales['Francia'] # borra el par Francia:París

print('\nHay {0} países\n'.format(len(capitales))) # 'Hay 2 países'

for pais, capital in capitales.items(): # recorre diccionario
    print('Capital de {0}: {1}'.format(pais, capital)) # muestra par

capitales['Portugal'] = 'Lisboa' # agrega par Portugal:Lisboa

if 'Portugal' in capitales: # comprueba si existe clave
    print('\nCapital Portugal:', capitales['Portugal']) # 'Lisboa'





#ENTREGABLE 9
dic1 = {'Lorca':'Escritor', 'Goya':'Pintor'} # declara diccionario

print(dic1) # {'Goya': 'Pintor', 'Lorca': 'Escritor'}

dic2 = dict((('mesa',5), ('silla',10))) # declara a partir de tupla

dic3 = dict(ALM=5, CAD=10) # declara a partir de cadenas simples

dic4 = dict([(z, z**2) for z in (1, 2, 3)]) # declara a partir patrón

print(dic4) # muestra {1: 1, 2: 4, 3: 9}

print(dic1['Lorca']) # escritor, acceso a un valor por clave

print(dic1.get('Gala', 'no existe')) # acceso a un valor por clave

if 'Lorca' in dic1:
    print('está') # comprueba si existe una clave

print(dic1.items()) # obtiene una lista de tuplas clave:valor
print(dic1.keys()) # obtiene una lista de las claves
print(dic1.values()) # obtiene una lista de los valores

dic1['Lorca'] = 'Poeta' # añade un nuevo par clave:valor

dic1['Amenabar'] = 'Cineasta' # añade un nuevo par clave:valor

dic1.update({'Carreras' : 'Tenor'}) # añadir con update()

del dic1['Amenabar'] # borra un par clave:valor

print(dic1.pop('Amenabar', 'no está')) # borra par clave:valor



#ENTREGALE 10



capitales={'CHILE':'SANTIAGO', 'ESPAÑA':'MADRID', 'FRANCIA':'PARIS'}
#DICCIONARIO CON ELEMENTOS

'''PARA DECLARAR UN DICCIONARIO VACIO PUEDE SER'''

capit={}#DE ESTA MANERA
#print(type(capit)) #ESTO MUESTRA QUE SI ES UN DICCIONARIO

capitals=dict()#O ESTA OTRA
#print (type(capitals)) #ESTO MUESTRA QUE SI ES UN DICCIONARIO
#ENTREGABLE 11


'''DECLARAR 5 VARIABLES NOMBRE APELLIDO EDAD ALTURA Y PESO
CON LA FUNCION PRINT MOSTRARLOS EN PANTALLA CON EL FORMATO
PRINT ("TEXTO", VARIABLE)'''

nombre="BRAYAN"
apellido="MONSIVAIS"
edad=19
peso=52.6
altura=1.87

print("NOMBRE",nombre)
print("APELLIDO",apellido)
print("EDAD",edad, "AÑOS")
print("ALTURA",altura, "METROS")
print("PESO",peso,"KG")

print("\n--------------------------------------------")


'''DECLARAR 4 VARIABLES a b c d resultado
LAS VARIABLES SOLO SE DECLARARAN UNA VEZ SE
SE PIDEN HACER OPERACIONES Y ASIGANR A LA VARIABLE RESULTADO
EL VALOR DE LA OPERACION Y MOSTRAR EN PANTALLA'''

a=2
b=3
c=5
resultado=0

resultado= a+b
print(resultado)

resultado=c/a
print(resultado)

resultado=(a+b+c)*2
print(resultado)

resultado=c*a
print(resultado)

resultado=c// b
print(resultado)

resultado=c%b
print(resultado)

resultado=(b+c)-a
print(resultado)

resultado=a**b
print(resultado)

print("\n--------------------------------------------")



''' LOS COMENTARIOS SON TEXTOS INFORMATIVOS QUE AYUDAN A ENTEBDER EL PROGRAMA'''
#ESTO ES UN COMENTARIO
'''
ESTO
TAMBIEN ES
UN COMENTARIO'''

'''DECLARAR 3 LISTAS CON 5 ELEMENTOS CADA UNA INVENTADAS
ANTES DE CADA DECLARACION AGREGAR UN COMENTARIO #LISTA DE...
IMPRIMIR EN PANTALLA EL PRIMER ELEMENTO DE CADA LISTA
IMPRIMIR EN PANTALLA EL ULTIMO ELEMENTO DE CADA LISTA
IMPRIMIR UNA POR UNA LAS LISTAS'''



#LISTA DE JUGUETES
juguetes=['CARRO','BALERO','MUÑECA','PELUCHE','YOYO']

#LISTA DE ROPA
ropa=['PANTALON','CAMISA','CHAMARRA','BUFANDA','CALCETIN']

#LISTA DE COMIDA
comida=['TACOS','HAMBURGUESA','REFRESCO','HOTDOG','PAN']

print(juguetes[0])
print(ropa[0])
print(comida[0])

print(juguetes[-1])
print(ropa[-1])
print(comida[-1])

print(juguetes)
print(ropa)
print(comida)



#ENTREGABLE 12

import math

resistencia={}
resistencia['NEGRO']=[0]
resistencia['CAFE']=[1]
resistencia['ROJO']=[2]
resistencia['NARANJA']=[3]
resistencia['NAMARILLO']=[4]
resistencia['VERDE']=[5]
resistencia['AZUL']=[6]
resistencia['MORADO']=[7]
resistencia['GRIS']=[8]
resistencia['BLANCO']=[9]



print("DE CUANTAS BANDAS ES TU RESISTOR:? ")
c=int(input())

listac=[]#PEDIR COLORES
#len(listac)

listac.append(input("COLOR 1:"  ))
val1= listac[0]
digval1=(resistencia[val1])
c=c-1
print(digval1)

listac.append(input("COLOR 2:"  ))
val2= listac[1]
digval2=(resistencia[val2])
print(digval2)
c=c-1


listac.append(input("COLOR 3:"  ))
val3= listac[2]
digval3=(resistencia[val3])
print(digval3)
c=c-1




if c==0:
    exp=(10**(digval3[0]))
    adigi1=str(digval1[0])#print("adigi1", adigi1)
    adigi2=str(digval2[0])
    rt=int(adigi1 + adigi2)*exp
    print("RESISTENCIA DE",rt,"OHMS")

else:
    listac.append(input("COLOR 4:"  ))
    val4= listac[3]
    digval4=(resistencia[val4])
    print(digval3)
    exp=(10**(digval4[0]))
    adigi1=str(digval1[0])#print("adigi1", adigi1)
    adigi2=str(digval2[0])
    adigi3=str(digval3[0])
    rt=int(adigi1 + adigi2+ adigi3)*exp
    print("RESISTENCIA DE",rt,"OHMS")
    c=c-1





#ENTREGABLE 12


''' ELABORE UN DICCIONARIO PARA MANIPULAR EL COMPUESTO DE UN LED
POR SU COLOR O VOLTAJE'''

color={"INFRARROJO":"GaAs", "ROJO": "AlGaAs", "NARANJA-AMARILLO":"GaAsP", "VERDE":"GaN y GaP", "AZUL":"ZnSe, InGaN y SiC"}
volt={"ROJO": "1.7V-1.9V", "NARANJA-AMARILLO":"2V", "VERDE":"2.1V", "BLANCO-VERDE BRILL":"3.4V", "AZUL":"4.5V" }

print("COMO QUIERES CONOCER LOS LEDS?\n COLOR O VOLTAJE")
op=input()

if op.startswith('C') | op.startswith('c'):
    print('INFRARROJO',color["INFRARROJO"])
    print('ROJO',color["ROJO"])
    print('NARANJA-AMARILLO',color["NARANJA-AMARILLO"])
    print('VERDE',color["VERDE"])
    print('AZUL',color["AZUL"])
else:
    if op.startswith('V') | op.startswith('v'):
        print('ROJO',volt["ROJO"])
        print('NARANJA-AMARILLO',volt["NARANJA-AMARILLO"])
        print('BLANCO-VERDE BRILL',volt["BLANCO-VERDE BRILL"])
        print('VERDE',volt["VERDE"])
        print('AZUL',volt["AZUL"])