Programación Hernán

Unidad 2

febrero 21, 2025

Programa 1

#comentario corto

#Los comentarios no afectan los programas, sirven para documentar el programa

#radio es una variable

radio=5 #radio es una variable entera

area=3.14159242 *radio **2 #float *int **int

#El area sera igual a la multiplicacion entre

#un valor flotante por un entero elevado a un entero

print(area) #float


#al imprimir el area devolvera un valor flotante



Programa 2

#comentario corto

#radio es una variable

radio=5; #int

#radio es igual a un valor entero

area=3.14159242 \ 

*radio **2

 #float *int **int

#separador de linea

#"\" permite que la linea continue en otra linea

print(area) #float

print("esto es una cadena")#" " muestra una cadena

print("""esto es otra cadena""")#""" """ muestra otra cadena

#La diferencia es que (""" """) es una cadena que puede abarcar

#varias lineas

print(int)#muestra que tipo de dato es int

print(help(int))#muestra información relacionada a la clase int

 


 

Programa 3

#numeros

#enteros, flotantes, complejos

entero=3

flotante=5.98765432

complejo=7+5j

print("entero: ", entero)#imprime la variable entero que es un valor entero

print("flotante:", flotante)#muestra la variable flotante que es un valor flotante

print("Complejo: ", complejo)#muestra la variable complejo 

# que es valor complejo (contiene una parte real y una imaginaria)



#cadenas literales,cadena, blog

cadena1='hola que tal'#literal, es tambien una cadena

cadena2="como estas"#cadena de texto

cadena3="""

espero

que muy

bien

""" #un blog es una cadena que puede abarcar varias lineas

print("****************************************")#separador visual

print("literal: ",cadena1)

print("Cadena: ",cadena2)

print("blog: ",cadena3)

print("*****************************************")




#valores booleanos

verdadero=True #variable con un valor booleano denominado True

falso=False #variable con un valor booleano denominado False

print("Verdad: ",verdadero)

print("Falso: ",falso)

print("*********************************************")

print("Tipo numero ",type(entero)) #El tipo de dato que es la variable entero es int

print("Flotante ",type(flotante)) #El tipo de dato que es la variable flotante es float

print("complejo ",type(complejo)) #El tipo de dato que es la variable complejo es complex

print("Cadena 1",type(cadena1)) #El tipo de dato que es la cadena1 es decir es str

print("Cadena 2",type(cadena2)) #El tipo de dato que es la cadena2 es decir es str

print("Cadena 3",type(cadena3)) #El tipo de dato que es la cadena3 es decir es str

print("booleanos", type(verdadero)) #El tipo de dato que es la variable verdadero es bool

print("booleanos", type(falso))#El tipo de dato que es la variable falso es bool

print("*****************************************************")


#valores octal y hexadecimal

num_octal=oct(23)#convierte el numero 23 en octal

num_hex=0x31#se define un numero hexadecimal 

print("Octal: ",num_octal)

print("Hexadecimal: ",num_hex)

#El valor hexadecimal al imprimirlo con print sera mostrado en decimal


Programa 4

#operadores aritmeticos

r=0  

r=5+3 

print("Suma ",r)#mostrara la suma entre 5+3

print("Suma",5+3)#imprime directamente el resultado de la suma de 5+3

print("Resta", 5-3)#imprime directamente el resultado de la resta de 5-3

r=-3 #r vale ahora un numero negativo (-3)

print("Negación", r) # r vale un numero negativo

print("Multiplicación", 2*3)#muestra directamente el resultado de la multiplicacion de 2*3

print("Exponente", 5**3)#muestra el resultado de elevar 5 a la tercera potencia

print("División ", 5/2)#muestra el resultado de 5 entre 2 mostrandolo como flotante

print("División entera", 5//2)#muestra el resultado de 5 entre 2 mostrandolo como entero

# una division // elimina la parte decimal en el resultado

print("Residuo", 5%2)#muestra el residuo de la division de 5 entre 2 


Programa 5

#operadores nivel bit

num1=3

num2=2


#and

res=num1&num2#& es una operación and

"""

011

010

______

010

"""#una operación "and" dará 1 si ambos bits son 1

print("and bit", res)#realiza una operación and entre 2 y 3 binarios


#or

res=num1|num2 # "|" es una operación or

"""

011

010

___

011

""" #una operacion "or" dará 1 si almenos un bit es 1 

print('or bit',res) #realiza una operación "or" entre 2 y 3 binarios


#negacion

print("negacion bit", ~num1)#~ niega un numero

#negar un numero se puede realizar conviertondolo en negativo y restandole 1

#Negar se puede realizar asi, ej: negar 3 dará como resultado -4


#xor

print("xor",num2^num1) # "^" representa una operación xor

"""

010

011

___

001

""" #una operación "xor" devuelve 1 si ambos bits son diferentes



Programa 6

#delimitadores

n1=3

n2=10

n3=8

n4=7

print(n1*(n2+n3)/n4-(n4**n1))

n1+=n2 #es lo mismo que n1= n1+n2

print(n1)

n1*=n2 #es lo mismo que n1= n1*n2

print(n1)

n1/=n3 #es lo mismo que n1= n1/n3

print(n1)

n1**=n4 #es lo mismo que n1= n1^4

print(n1)

n1//=n4 #es lo mismo que n1= n1//n4,// es división entera

print(n1)

n1%=n2 #es lo mismo que n1= n1%n2, % calcula el residuo

print(n1)


Programa 7

#operadores de desplazamiento

#izquierda multiplica en binario

#<< desplaza a la izquierda

#>> desplaza a la derecha

#cada desplazamiento a la izquierda multiplica por 2

print("3<<1: ", 3<<1)

"""

011 empuja a la izquierda

110 queda esto

1100 empujo 1

110000 empujo 2

"""

print("6<<1: ", 6<<1)#6*2=12

print("12<<2: ", 12<<2)#(12*2)*2=48


#derecha divide en binario

#divide entre 2

print("48>>1: ", 48>>1)#48/2=24

"""

110000 empujo 1

011000 queda esto

empujo 2

000110 

"""

print("24>>2: ", 24>>2)#(24/2)/2=6



Programa 8

#Operadores relacionales

#Los operadores relacionales regresan True si es verdadera la asignación

#Y regresan False si es falsa

n1=5  #un igual es una asignación

n2=8

print("Diferente", n1!=n2)#pregunta si n1 es diferente que n2

print("Igual", n1==n2) #igualación, pregunta si n1 es igual que n2

print("Mayor que", n1>n2)#pregunta si n1 es mayor que n2

print("Mayor igual", n1>=n2)#pregunta si n1 es mayor o igual que n2

print("Menor que", n1<n2)#)#pregunta si n1 es menor que n2

print("Menor igual", n1<=n2)#pregunta si n1 es menor o igual que n2


n3=n1==n2

#a n3 se le asignó el resultado relacional de preguntar si n1 es igual a n2

n4=n1!=n2

#a n4 se le asignó el resultado relacional de preguntar si n1 es diferente a n2

print("5==8", n3)

print("5!=8", n4)



Programa 9


#tipos de datos

n1=3 #entero

n2=123456789012345678901234567891234567890123456789012345678912345 #long

n3=5.123654 #float

#cadenas

cad1='hola'

cad2="como estas"

cad3="""espero

que

bien

"""



#estructuras

lista=[1,2.345,'hola',True]#listas, cambiar de valor, son mutables

#Las listas pueden ser modificadas

dicc={520:'luis',532:'javier'} #diccionario cambian de valor

#Los diccionarios pueden ser modificados

tupla=(2, 3.14,True)#tuplas no pueden ser modificadas

print("lista", lista, type(lista))

#print(help(lista)) # da información sobre lo que se puede hacer con la lista

print("diccionario:", dicc, type(dicc))

print("tupla: ", tupla, type(tupla))


Programa 10


import sys#permite la función syz.getsizeof() , sin esto marcaba error


#Datos enteros

x=250**250

print(x)

y=2**64

print(y)



#binarios

a=0b111#define en "a" el numero 111 en binario

print(a,type(a))#print imprimira "a" en base decimal y como entero

b=0x117#define en "b" el numero 117 en hexadecimal

print(b,type(b))#print imprimira "b" en base decimal y como entero

c=0o117#define en "c" el numerero 117 en octal

print(c, type(c))#print imprimira "c" en base decimal y como entero

z=5**1000

print(sys.getsizeof(z),type(z))#calcula el tamaño en bits de z y su clase

ab=5

print(sys.getsizeof(ab),type(ab))# calcula el tamaño en bits de ab y su clase

print(z)


Programa 11


x=5**10000#es un valor muy grande el resultado
#print(x)
#print(5e200**2)#no lo imprimira por ser muy grande
#print(2e2000**2)#no lo imprimira por ser muy grande
n1=int(1.6) #conversiones o casting, converti 1.6 a entero
print(n1)
print("*******************************************")#separador visual

#booleanos
print(1<0)#evalua si 1 es menor a 0
print(1<=0)#evalua si 1 es menor o igual a 0 
print(9==9)#evalua si 9 es igual a 9
print(bool(10))#cualquier valor distinto a 0 es True
print(bool(-10))
print(bool("algo"))#cualquier cadena no vacia es True
print(bool(0.2))
print(bool([]))#las estructuras vacias son False

#flotante
f=2.10e-3 #2.10 multiplicado por 10 elevado a la -3
print(f)

n2=float(True)#True al equivale 1, en flotante equivaldra 1.0
print(n2)

n3=float(1)#convierte 1 a un valor flotante (1.0)
print(n3)
print("*******************************************")#separador visual

nf=0.999999999999999999999
print("nf", nf)#nf al ser impreso sera mostrado de forma redondeada
print(sys.float_info.min)#muestra el valor minimo de un flotante
print(sys.float_info.max)#muestra el valor maximo de un flotante

f=1.79769313348623157e+310
print(f)#imprimira inf(infinito) por ser infinito en flotante

nf2=float('inf')
print(nf2)#imprimirá inf 
print("{:.20f}".format(1.0/3.0))#imprime 1/3 con 20 decimales en flotante
print(0.1+0.1+0.1-0.3)#mostrara un valor muy cercano a 0 pero no 0

Programa 12
#imaginarios
#compuesto de la parte real y de la imaginaria
a=5+5j#5 es la parte real y 5j la imaginaria
b=1.3-7j
c=0.3j #la parte real sera cero

#telecomunicaciones y electromagnetismo y corrientes electricas
print(c)
print(c.real) #flotante, imprimira la parte real
print(c.imag)#imprimira la parte imaginaria
print(type(c))#mostrara que clase es 0.3j(complex)
d=complex(3,8)#al convertirlo a complejo 3 sera la parte real y 8 la imaginaria
print(d)
print(a+b)
print(a*b)
print(a/b)
#al hacer operaciones con numeros complejos la parte real suma a la real
#Y la parte imaginaria suma a la imaginaria
a=1+1j
print(a.conjugate()) #negar la parte imaginaria

Programa 13

import cmath
#la libreria cmat permite realizar operaciones con numeros complejos
print(cmath.phase(complex(5,0))) #phase es el angulo del vector 
print(cmath.polar(complex(5,0)))#polar módulo y ángulo


#inmutable
cad="hola que tal"
print(cad)
print(type(cad))
cad1='' #cadena vacia
#cad2="esto es "realmente" genial"# no es valido
cad2="esto es \"realmente\"genial" #secuencia de escape
print(cad2)
cad3="esto es \n realmente \t genial" #secuencias de escape
print(cad3)
print("\165\165") #imprimir el asciii del numero dado, imprimirá uu

print("********************************************************")

x=5
s="el numero es: "+str(x)
print(s)


# %mascaras %d es un digito %i entero
cad="los numeros son %d y %d" % (5,10)
print(cad)
cad1="los numeros son {} y {}".format(8,13)#.format imprimira 8,13 dentro de los corchetes
print(cad1)
a=12
b=23
cad4=f'los numeros son {a} y {b}'
print(cad4)
cad5=f'a+b ={a+b}'
print(cad5)

s1="parte uno"
s2="parte dos"
print(s1 +" "+s2)
s3="hola"
print(s3*4)#es posible realizar operaciones con cadenas
#in (dentro)
print("hola" in "hola python") #valor booleano, regresara True 
#por que hola esta tambien en hola python

print(chr(34576))#chr convierte un numero en su simbolo correspondiente
print(ord("π"))
print(chr(129429))
print(chr(128429))
print(chr(128038))
print(chr(129430))
print(chr(128049))
#nota: mi computadora no puedo mostrar los simbolos

Programa 14

#Nota de remisión

#ejemplo

"""

-------------------------------------------------------

| logo                                       No. 123  |

|                                                     |

|                                                     |

|No.      Cantidad     Precio                         |

|1            5         $200                          |

|2            10         $50                          |

|                                                     |

|                                                     |

|          total       1500                           |

|            iva        240                           |

|   Total a pagar      $1740                          |

|                                                     |

|                                                     |

------------------------------------------------------|

"""

#nota de remisión realizada por mi

No1= "1"

No2="2"

cantidad1=5

cantidad2=10

precio1=200

precio2=50

subtotal1=cantidad1*precio1

subtotal2=cantidad2*precio2

subtotal=subtotal1+subtotal2

iva=(subtotal/100)*16

Total=subtotal+iva

nota= """

-------------------------------------------------------

|                                            No. 123  |

|                                                     |

|                                                     |

|No.      Cantidad     Precio                         |

|{}         {}           {:.2f}                           |

|{}          {}           {:.2f}                      |

|                                                     |

|                                                     |

|          total         {:.2f}                      |

|            iva         {:.2f}                       |

|   Total a pagar        {:.2f}                      |

|                                                     |

|                                                     |

------------------------------------------------------|

""".format(No1,No2,cantidad1,cantidad2,precio1, precio2,subtotal, iva,Total)

print(nota)


#Utilice .format para esta nota de remisión

#No agregue logo por que mi computadora no imprime simbolos al imprimir con chr

#:.2f fue para mostrar con 2 decimales los valores monetarios

#utilice una cadena de comillas triples para declarar la nota completa

#el .format lo use al final de la nota con las variables previamente ya declaradas


Programa 15

x=str(10.4)#se guardo en x una cadena que valia 10.4

print(x)#10.4

print(x[0])#imprimira 1 por estar en la posición 0

print(x[-1])#4

#la posición -1 corresponde a la ultima posición (contando de izquierda a derecha) 

print(x[0:2])#10 imprime desde la posicion 0 y 1


#cadenas []

cad="supercalifragilisticoespialidoso"

print(cad[:5])#super, no poner nada en el inicio indica 0

print(cad[9:15]) #inicio:final,fragil

print(cad[-4:])#doso, muestra desde la ultima posición

print(cad[0:-1:2])#incio:final:salto

print(cad[::2])#inicio: 0, final:-1, salto: 2



#Métodos

print(cad.capitalize())#Pone en mayuscula la primer letra

print(cad.lower())#Pone en minusculas todo

cad="SuperCalifragilisticoEspialidoso"

print(cad.swapcase())#intercambia mayúsculas por minusculas

print(cad.upper())#convierte todos los carácteres en mayúsculas

print(cad.count("a"))#cuenta las a

print(cad.isalpha())#devuelve si es verdadero que todos los caracteres son alfabeticos sin numeros

print(cad.isalnum())#devuelve si es verdadero que todos los caracteres son alfanumericos

#letras o numeros

Programa 16
n=input("Dame un numero")
print(n)
n1=int(input("Dame un numero otra vez"))
print(n1)

#pedir numero, guardarlo, convertirlo a cadena, preguntar si es alfanumérico
num=input("Dame un numero otra vez ")
nums=str(num)
print(nums.isalpha())

#pedir al usuario 3 numeros y juntarlos en una sola cadena 
num1=input("Dame el primer numero")
num2=input("Dame el segundo numero")
num3=input("Dame el tercer numero")
n1=str(num1)
n2=str(num2)
n3=str(num3)
suma=n1+n2+n3
print(suma)
print(suma.isalnum())
#pedi 3 numeros y cada uno lo converti en cadena
#despues los sume haciendolos un solo termino
#imprimi y pregunte si esa suma que hacia una unión de las 3 cadenas era alfanumérico

#Otro método diferente
if(suma.isalpha()==False):
print(suma)
else:
print("no son numeros")
#este metodo consiste a que si la suma de las 3 cadenas es alfanumerica y no alfabética la imprimirá
#de lo contrario arrojara el mensaje de que no son numeros

Programa 17
sep=' ' #separador
pal=["una","dos","tres"] #s=[a,b,c]
cad=sep.join(pal)   #cad2=sep.join(str,pal)
#aqui son unidas mediante .join sep que es un separador con la lista llamada pal
print(cad)   #cad2

cadena="esto, es, un, ejemplo"
print(cadena.split(","))#Divide la cadena en una lista usando la coma como separador

cadtmp=cadena.split(",")
print(cadtmp[0]+sep+cadtmp[1])#imprime de la cadena temporal creada las posiciones 0 y 1 
# y los une con el separador

Programa 18
#operadores especiales
#is devolver verdadero si esta la referencia del objeto
a=8
b=5
print(a is b)
print(id(a)) #id es un identificador
print(id(b)) #si a y b son iguales imprimiran el mismo id
#en este caso b es diferente e imprimira un id diferente


#lista
a=[1,2,3]
b=[1,2,3]
print(a == b)
print("is",a is b)#pregunta si a es b son el mismo objeto,False
print(a != b)
print("is not", a is not b) #pregunta si a no son el mismo objeto,True


#in si el elemento esta contenido en...
print(1 in b)#pregunta si 1 esta dentro de b

#not in
print(5 not in b) #pregunta si 5 no esta contenido en b 

#print(3 in 3)# marca error por que no tiene sentido preguntar si un elemento esta en el mismo elemento
print([1,2] in [4, [1,2],True])#devolvera True 
#por que [1,2] esta contenido en la otra lista tambien


cad="hipopotamo"
#tamaño
print(len(cad))#regresa la longitud de la palabra dentro de  cad
#Devolvera 10 por ser su longitud

Programa 19

# listas

lista=[]#lista vacia, sirve para ser llenada
listauno=list()#lista vacia

pide=input("Dame algo para mi lista: ")
lista.append(pide)#.append sirve para agregar algo a una lista
print(lista)

#agregar 2 elementos
elemento1=input("Dame el primer elemento extra: ")
elemento2=input("Dame el segundo elemento extra: ")
lista.append(elemento1)#de esta forma agregue uno por uno cada elemento
lista.append(elemento2)
print(lista)
#otro metodo para agregar 2 elementos extra
pide2=input("Dame algo para mi lista: ")
lista.insert(0,pide2)#inserta lo que pedi en la lista en la posición 0
print(lista)

#Ejemplo de lista
ejemlis=[100,False,"algo",[1,2]]
print(ejemlis[3][1])#mostrar el 2

#ejemplo
ejlis=[8,[1,2]]
print(ejlis[1][1]) #extraer el valor de 2
#modificar el contenido de la lista
ejlis[1]=[0,1]
print(ejlis[1][1])
print(ejlis)

#ejemplo
est=["Juan",[8,7,9,4],"Pedro",[7,5,9,7]]
#quiero cambiar el 4 por un 7 de Juan
est[1][-1]=7
est[1][3]=7
print(est)

#diferencia append y el insert
'''pedir 2 nombres y los van a agregar
juan
daniel 
cadena=juan, daniel
listadecadena= ['juan','daniel']
'''

#tarea de clase
nomb1=input("Dame el primer nombre")
nomb2=input("Dame un segundo nombre")
cad=nomb1+" "+nomb2
lista=cad.split(' ')
print("lista",lista)
#extend()
lista.extend([nomb1,nomb2])#utilice .extend para agregar a una lista los dos nombres pedidos
print("despues extend",lista) 

Programa 20
#listas

est=["Juan",[7,8,9,4],"Pedro",[7,9,7,8]]
#[7,9,8,[7,7,8]]
est[0]="Luis"#cambia Juan por Luis

print(est[1][3])#mostrara el 4
est[1][3]=7#cambia el 4  por 7
est[3][1]=6#cambia el nueve de la lista en la posición 3 por un 6 
print(est)

print("Elementos en la lista: ",len(est))
print("cuantos sietes hay: ",est.count(7))#dara 0 por que se tienen que especificar
#las listas para contar 
n=est[1].count(7)+est[3].count(7)
print(n)

est[1][3]=[7,7,8]
print(est)
est.pop() #sirve para eliminar el ultimo elemento o un elemento dado
print(est)
est.reverse() # sirve para invertir la lista
print(est)
#print(help(list)) #ayuda integrada

Programa 21
#SET

s=set([7,5,3,2,1]) #inmutables
print(s,type(s))#imprime la lista s y de que tipo es (set)

s1={3,5,6,7,8}
print(s1,type(s1))#imprime la lista s1 y de que tipo es (set)
#s[0]=89 #marcará error por que un set no puede mostrar ni modificar elementos
print('')

print(len(s1))#imprime cuantos valores tiene s1
print(s | s1) #OR agrupa en orden los elementos unicos
print(s & s1) #AND imprime los elementos que se repiten
print(s ^ s1) #XOR imprime los elementos que no se repiten

s.add(10)#agrega un 10 a la lista
print(s)

s.remove(10)#elimina el 10 de la lista, da error si no esta
print(s)

s.discard(10)#elimina el 10 de la lista, no da error si no esta
s.pop()#elimina el ultimo elemento de la lista
s.clear()#vacia la lista
print(s)

s2={3,5,6,7,8}
print(s1.intersection(s2))#imprime los elementos comunes entre s1 y s2
print(s1.union(s2))#impime la union entre s1 y s2 de los elementos no repetido 
print(help(set))#imprime ayuda integrada relacionada al set

Programa 22

#tuplas
#Una tupla es una secuencia de valores agregados

tupla=(1,2,3)
print(tupla, type(tupla))
tup=4,5,6 #se pueden declarar sin parentesis
print(tup, type(tup))
#inmutables
#tup[1]=8 #marcara error por que las tuplas son inmutables
tu=1,2,3,(5,6,7),9 #pueden tener sublistas
print(tu)
t=1,2,('a','b','c'),8
print(t[2][2])
unalis=[7,8,9]
print(unalis,type(unalis))
unatup=tuple(unalis)#una lista se puede convertir en una tupla
print(unatup,type(unatup))
otratup=(2,)#una tupla con un elemento seguido de una coma es una tupla de un elemento
#print(help(tuple))

Programa  23
#diccionario
#ejemplo
dicci={ 100:"David",101:"Rodrigo"}
dicest={'nombre':"David",'edad':19,'materias':
['visual','diferenciales','circuitos']}
print(dicest['nombre'])
print(dicest['edad'])
print(dicest['materias'])
print(dicest['materias'][1])
dicpru=dict(nom='Rodrigo',apell='Armas',edad=19)
print(dicpru)


#programa que capture 3 datos
#nom=input("dame nombre: ")
#convierta en diccionario
#imprima el diccionario
nombre1=input("dame un nombre")#actividad participacion
edad1=input("dame la edad")
materia1=input("dame 1 materia")
lista=[]
lista.extend([nombre1,edad1,materia1])#cree una lista con lo que pedi
print(lista)
lista2=[]
lista2.extend(['nombre','edad','materia'])#cree una 2da lista
print(lista2)
dicc2=dict(zip(lista2,[nombre1,edad1,materia1]))#use zip para crear el diccionario
print(dicc2)#hasta aqui forma parte  la actividad (participacion de clase) 


#ejemplo clase
dosdicc=dict(zip('abcd',[1,2,4,3]))
print(dosdicc)
tresdicc={'a':1,'b':3,'c':6,'d':4}
elem=tresdicc.items()#.items() devuelve una lista de tuplas 
#cada tupla se compone de dos elementos (clave-valor)
print(elem)
llaves=tresdicc.keys()#devuelve una lista de elementos
#conformada por las claves del diccionario
print(llaves)
valor=tresdicc.values()#devuelve una lista de elementos
#conformada por los valores del diccionario
print(valor)
dicpru.clear()#devuelve el diccionario vacio
dicpru=dicest.copy()#retoma una copia del diccionario original
print("copiado",dicpru)


#ejemplo
cuatdicc=dict.fromkeys(['a','b','c','d'],1)
print("fromkeys: ",cuatdicc)

#actividad tarea de clase
dicc4 = dict.fromkeys(['nombre', 'edad','materia'])#diccionario sin valores  
dicc4.update(dicc2)#agregue los elementos del diccionario 2 que ya contenia el nombre,edad,materia al diccionario 1
#usando .update
print("Diccionario usando fromkeys", dicc4)

Comentarios

Entradas más populares de este blog

Programación Unidad 4 Hernán

Programación Unidad 5 Hernán

Unidad 3 Hernán Programación