Unidad 3
Programa 1:
#Estructuras de control
edad=12
let="Si se pudo"
#if palabra reservada condicional : identificación
if edad>18:
print(let)
print("Todo dentro de if es entonces")
print("Hasta salir de la identacion")
else: #Palabra reservada y : identacion
print("Dentro del else")
print("Hasta salir de la identacion del else")
print("Lo que sigue del if")
Programa 2:
#Estructuras de control
edad=int(input("Dame tu edad: "))
if edad >=18:
print("Ya te pueden meter a la carcel")
print("no tengo INE")
print("Ni licencia o algo mas...;) ")
else:
print("Pues se feliz entonces ")
print("Sigue el programa")
Programa 3:
edad=int(input("Tu edad es? "))
if edad>=18: print ("Si entras al antro");print("bebé -")
print("Sigue....")
if edad<18:
print("algo")
else:
pass
#pass no hace nada, solo deja feliz al interprete
Programa 4:
#else if
n=int(input("Dame un numero: "))
if n==1:
print("primero")
elif n==2:
print("Segundo")
#else:
# print("¿Será? ")
elif n==3:
print("tercero")
else:
print("default")
print("continua el programa")
Programa 5:
'''
pedir la edad, lo clasifican en no nato <1, bb 1<>3,
niño 4<>12, adolescentes 13<>17, adulto 18<>65,
tercera edad 66 en adelante.
if n>5 and n<3
if n<0 & n>8
'''
edad=int(input("Dame la edad: "))
if edad<1:
print("No nacido")
if edad>=1 and edad<3:
print("bebé")
if edad>=4 and edad<12:
print("es un niño")
if edad>=13 and edad<17:
print("adolescente")
if edad>=18 and edad<65:
print("adulto")
if edad>=66 and edad <99:
print("adulto de la tercera edad")
if edad>=100:
print("muerto")
Programa 6:
#Ternario
var=int (input("Dame un numero:"))
print(var, type (var))
print("Es 8"if var==8 else "No es 8")
#Codigo se cumple if condicion else codigo no se cumple
Programa 7:
#Ternario que se atrape en una variable
var1= int(input("Dame el primer numero: "))
var2= int(input("Dame el segundo numero: "))
var3=var1/var2 if var2!=0 else-1
print(var3)
print(6/0)
Programa 8:
#programa que capture solo números sin el int del input
var1 = input("Dame un número: ")
print(var1)
print("Número válido:", var1) if var1.isdigit() else print("No es un numero.")
Programa 9:
#pedir la edad, lo clasifican en no nato <1, bb 1<>3,
#niño 4<>12, adolescentes 13<>17
#13 de marzo del 2025
print ("Cristal Cruz Cruz: ")
print(chr(128049))
edad = int(input("Ingresa la edad: "))
etapa= ( "No nato o no nacido" if edad < 1 else "bebe" if 1 <= edad < 3 else "Niño" if 4 <= edad < 12 else "Adolescente" if 13 <= edad < 17 else "Adulto")
print("La clasificación de edad es:", etapa)
Programa 10:
edad=input("Introduce tu edad: ")
a=5
c= ("no nato" if a<1 else "bebe" if a>=3 and a<1 else "no es un bebe", )
print(c)
Programa 11:
'''
pedir la edad, lo clasifican en no nato <1, bb 1<>3,
niño 4<>12, adolescentes 13<>17, adulto 18<>65,
tercera edad 66 en adelante
14 de marzo del 2025
'''
#Programa que solo capture números sin el int del input
'''
print ("Cristal Cruz Cruz: ")
print(chr(128049))
edad = input("Dame un número: ")
etapa= ( "No nato o no nacido" if edad < 1 else "bebe" if 1 <= edad < 3 else "Niño" if 4 <= edad < 12 else "Adolescente" if 13 <= edad < 17 else "Adulto")
'''
#var=input("Dame un valor")
#print(var[0], var=[1])
#print(10*(1/10))
#print(algo*10)
#print('2'+2)
try:
edad=int(input("Dame tu edad: "))
etapa= ( "No nato o no nacido" if edad < 1 else "bebe" if 1 <= edad < 3 else "Niño" if 4 <= edad < 12 else "Adolescente" if 13 <= edad < 17 else "Adulto")
print(etapa)
#Uso de ternario
except:
print("no es una edad")
Programa 12:
#pagina 108
#while mientras la condicion sea verdadera, cuando
#la condicion sea falsa se detiene
x=10
while x>1:
print(x)
#Ejercicio
#pedir 3 edades con while
x=3
while x>0:
try:
edad=int(input("Dame tu edad: "))
x-=1
print(x)
except:
print("no es una edad")
Programa 13:
#Pedir clave y usuario y solo dar tres oportunidades para equivocarse
#TERMINADO
usuario= "Criss"
clave= "181975"
x=3
while x>0:
upsus=input("Dame tu usuario: ")
#x-=1, no va porque resta una vez mas y hace que se equivoque
if upsus==usuario:
print("correcto")
#break rompe el while
clavus=input("Dame tu clave:")
if clavus== clave:
print("Correcto, entra al sistema:")
break
else:
print("Usuario correcto, clave incorrecta:")
x-= 1
else:
print("Tienes otra oportunidad:")
x-=1
Programa 14:
#Programa a resolver con try y con except en donde al quitar las comillas se marca un error
usuario = "Criss"
clave = 181975
x = 3
while x > 0:
upsus = input("Dame tu usuario: ")
if upsus == usuario:
print("Usuario correcto.")
while x > 0:
try:
clavus = input("Dame tu clave: ")
if int(clavus) == clave:
print("Correcto, entra al sistema.")
break
else:
print("Clave incorrecta.")
x -= 1
except :
print("¿La clave tiene letras?")
x -= 1
break
else:
print("Tienes otra oportunidad.")
x -= 1
Programa 15:
al=["ya", "casi", "sale"]
while al:
al.pop(0)
print(al)
Programa 16:
x=5
while x<0:
print(x) # nunca entra en el ciclo, no corre el programa
while x<2:
print(x)
'''
while x>0: #valor de inicio, condición, incremento-decremento
print(x) #control del identificador, para el while
x+=1
'''
while x>0:
#si queremos imprimir el cero, tendríamos que poner el x-=1 aquí
print (x)
x-=1
Programa 17:
#Do while
c = 1
while True:
if c <= 3:
try:
x = int(input("Dame un numero: "))
if x == 1:
print("Campeón")
elif x == 2 or x == 3: #con un AND se come varias líneas, por lo que se tiene que cambiar por un or
print("Ya casi")
elif x == 4 or x == 5:
print("Sigue entrenando")
else:
print("¿Seguro que compite?")
except:
print("No es un numero")
c += 1
else:
break
#2 y 3
#4 y 5
#acumulador: almacena los datos P. aritmética
#contador= cuenta pero con sumas y restas, va restando y sumando
#Inicio, condición y algo que haga falta
Programa 18:
c = 1
cuenta=1
while True:
if c <= 3:
try:
x = int(input("Dame un numero: "))
if x == 1:
print("Campeón")
elif x <= 2 or x >= 3:
print("Ya casi")
elif x <= 4 or x>= 5:
print("Sigue entrenando")
else:
print("¿Seguro que compite?")
except:
print("No es un numero")
c += 1
else:
cuenta=1
Programa 19:
#Corregir programa en el que incluso al equivocarse con el usuario
# reste una oportunidad
usuario = "Cristal"
pasword = 181975
contador = 0
while True:
us = input("Dame tu usuario: ")
print("us es :", us)
contador += 1
if contador >= 3:
print("Ya no tienes intentos :(")
break
if us == usuario:
intentosrest = 3 - contador
contador2 = 0
while contador2 < intentosrest:
try:
psw = int(input("Escribe el pasword: "))
print("si psw")
if psw == pasword:
print("Dentro del sistema")
break
else:
print("Contraseña incorrecta.")
contador2 += 1
except:
print("No es correcto")
contador2 += 1
if contador2 == intentosrest:
print("Suerte para la siguiente ;)")
continue
else:
print("Usuario incorrecto.")
print("Estoy en el primer while")
Programa 20:
#else y while
x=5
while x>0:
x-=1
print(x)
else:
print("fin del ciclo")
print("***************************************************************")
x=5
while True: #Se controla con un if adentro
x-=1 # haciendo que no entre el "Fin"
print(x) # y que no se imprima
if x==0:
break
else:
print("Fin")
print("***************************************************************")
#PERMUTACIONES
i=0
j=0
while i<3:
while j<3:
print("[",i,j,"]" ,end=' ')
# end= '' es para darle mejor forma de matriz.
# "[","]" para agrupar en corchetes.
j+=1
i+=1
print("")
j=0
print("***************************************************************")
i,j,k=0,0,0
while i<3:
while j<3:
while k<3:
print(i,j,k, end= '|')
k+=1
j+=1
k=0
print(" ")
i+=1
j=0
Programa 21:
z=7
x=1
while z>0:
print(' '*z+'*'*x+' '*z)
x+=2
z-=1
Programa 22:
#Pedir el tamaño de la matriz, debe ser cuadrada, y con la forma de un cuadrada
try:
tam=int(input("Dame el tamaño de la matrix: "))
i,j, li, ls=0,0, 0, tam-1
print(i,j,li,ls)
while i<li:
while j<ls:
print("en j valor i", i)
if i==ls:
print("*", end= ' ')
else:
print(" ", end= ' ')
j+1=1
print(" ")
j=0
i+=1
while 1<tam:
while j<tam:
print()
except:
print("No es un numero, ingresa un numero: ")
Programa 23:
try:
tam = int(input("Dame el tamaño de la matriz (un número entero): "))
if tam < 1:
print("El tamaño de la matriz debe ser mayor o igual a 1.")
else:
for i in range(tam):
for j in range(tam):
print("0", end=" ")
print()
except:
print("No es un numero, intenta nuevamente")
Programa 24:
#Pirámide invertida
try:
n = int(input("Ingrese un número para el tamaño del triángulo: "))
for i in range (n,0,-1):
print(' '*(n-i)+'*'*(2*i-1))
except:
print("No es un numero")
Programa 25:
a, b=0,1
while b<1000:
print(b, end=",")
a,b=b, a+b
Programa 26:
#for
sec= ["maria", "tenia", "un", "corderito"]
for i in sec:
print(i)
print ("**************************************************************")
'''
for j in sec:
print(j, len(j))
if len(j)>5: #que cada vez sea 5, resolver con while·
sec,insert(0, "Mary Had")
'''
for j in sec [:]:
print (j, len(j)) #usar [:] rebanada, slice
if len (j) ==5:
sec.insert (0, "Mary Had")
print (sec)
Programa 27:
#rangos
sec= ["maria", "tenia", "un", "corderito"]
for i in sec:
print(i)
print("***************************************************************")
#con un rango se pueden obtener datos unicos
for i in range (len(sec)):
print(i, sec[i])
print("***************************************************************")
print(range(10))
print(list(enumerate(sec)))
#Lo que hace es que el enumerate me enumera, en posición 0 tiene "maria"
#enumera cada elemento de la secuencia
print("***************************************************************")
#ahora no con list si no una tupla dentro de una tupla
print(range(10))
print= "Tupla":(enumerate(sec))
print(Tupla)
print(list(range(10)))
Programa 28:
#rangos a detalle
for i in (0,1,2,3,4,5):
print(i)
for i in range (6):
print (i)
print("***************************************************************")
#range (inicio, fin ,salto)
print (list(range(5,20,2)))
for i in range (5,20,2):
print(i)
for i in range(5,0,-1):
print (i)
print("***************************************************************")
#iniciar en 2, terminar en 20 y decir si es par o impar, con ciclo for
'''
for i in range(2, 21):
if i % 2 == 0:
print(f"{i} es par")
else:
print(f"{i} es impar")
'''
for i in range(2, 21):
if i % 2 == 0:
print(f"{i} es par")
else:
print(f"{i} es impar")
Programa 29:
for i in range(2, 21):
if i % 2 == 0:
print(f"{i} es par")
else:
print(f"{i} es impar")
Programa 30:
import datetime
while True:
try:
fecha=input ("Dame la fecha siguiendo el formato dd-mm-aaaa : ")
fecha=datetime.datetime.strptime(fecha, "%d-%m-%Y")
break
except:
print("No es una fecha")
print(fecha)
print(datetime.datetime.now())
fecha2=datetime.date(2005,3,12)
fecha1=datetime.date(2025,3,25)
hora=datetime.time(7,15,0)
print(fecha1-fecha2)
Programa 31:
#Programa que pida la fecha de nacimiento y los días que han vivido
# 25 de marzo del 2025
import datetime
while True:
try:
fecha=input ("Dame tu fecha de nacimiento en el formato dd-mm-aaaa : ")
fecha=datetime.datetime.strptime(fecha, "%d-%m-%Y")
break
except:
print("No es una fecha")
fecha1=datetime.date(2025,3,25)
print(type(fecha))
op='%s-%s-%s' % (fecha.month,fecha.day,fecha.year)
op2='%s-%s-%s' % (fecha.year,fecha.day,fecha.day)
print ("usuario: ", fecha)
print(op)
print("actual: ", fecha1)
'''
print(fecha)
print(datetime.datetime.now())
fecha_hoy= datetime.today ().date ()
dias_vividos= (fecha_hoy- fecha). days
print(fecha-fecha2)
print("Has vivido () dias")
'''
Programa 32:
#Funciones
def saludo ():
print ("Hi sis")
print("Dentro de la función")
print("?????????") #Se imprimen estos primero porque
# están arria de la función
saludo ()
print("estoy out") #para decir que la función se ha terminado
Programa 33:
'''
def cuad(): #Este no imprime porque no están los parámetros dentro
print("x*x")
print(cuad(4))
'''
def cuad(x):
print(x*x)
y=x*x # Y de la función
cuad(4)
print(cuad(5)) #none: indica que una variable no tiene valor o que una función no devuelve ningún valor.
y=cuad(6) # y del programa
Programa 34:
def suma(a,b):
print("en funcion suma: ",a+b)
suma (5,8)
print("***************************************************************")
#Programa que pida al usuario un numero y con ese numero hacer una tabla de multiplicar
def mult (x):
for i in range (1.11):
print (x, "*", i, "=", x*i)
'''
c=1
while c:
try:
val=int(input("Dame un numero: "))
mult (val)
c=0
except:
print("Numero no valido para multiplicar, pon otro")
'''
#Parte comentada no corre, en su lugar usar un for:
numero=int(input("Dame el numero para la tabla: "))
def tabla_multiplicar(numero):
print(f"Tabla de multiplicar del {numero}:")
for i in range(1, 11):
resultado = numero * i
print(f"{numero} x {i:2} = {resultado:2}")
tabla_multiplicar(numero)
Programa 35:
#Agregar al 34
'''
x+=2
z-=1
print("***************************************************************")
n=9
for i in range (n,0,-1)
print(" "*(n-1)+'*'*(2*i-1))
'''
print("**************************************************************")
def mult2(x,y=1)
print(x+y)
mult2(4)
mult2(4,5)
Programa 36:
def multip (*args):
print(args) #sirve para mandar a la función mas de un argumento
multip(1,2,3,4,5) #imprime una tupla
#dentro de la función sumar los argumentos uno por uno
# y los imprimen en una variable.
#sumita=1+2+3+4+5
def multip(*args):
print(args)
sumita = sum(args)
print(f"La suma de los argumentos es: {sumita}")
multip(1, 2, 3, 4, 5)
Programa 37:
def suma(*num): # * se llama apuntador para que tenga varios lugares donde los va a atrapar:
# tiene capacidad de tener varias posiciones
print(type(num))
t=0
for i in num:
print(i)
t += i
return t
tot=suma(2,4,6,8)
print ("Suma es: ", tot)
Programa 38:
def sumar(*num):
c=1
while c:
try:
n=int(input("Dame un numero:"))
#print(num, type(num))
linum=list(num)
#print(linum,type(linum))
c=0
for i in range (len (linum)): #se debe de agregar un rango porque no se puede extraer un valor de una lista
linum [i]=linum[i]+n
except:
print("Algo no funciona")
return linum
tot=sumar(18,24,36,44)
print(tot)
'''
linum=[18,24,36,44]
n=5
for i in range(len(linum)):
linum [i]=linum[i]+n
'''
Programa 39:
#programa que pida peso y estatura y determinen en una función IMC
#regresen el valor y lo imprimen
def calcular_imc():
while True:
try:
peso = float(input("Dame tu peso en kg: "))
estatura = float(input("Dame tu estatura en metros: "))
if peso <= 0 or estatura <= 0:
print("El peso y la estatura deben ser en kg y en mts")
continue
imc = peso / (estatura ** 2)
return imc
except :
print("Algo no está bien en los datos dados. Inténtalo de nuevo.")
limc = calcular_imc()
print(f"Tu Índice de Masa Corporal (IMC) es: {limc:.2f}")
Programa 40:
def suma (**kwargs):
su = 0
for key, value in kwargs.items():
print (key, value)
su += value
return su
print(suma(a=5, b=20, c=23)) #48
#diccionario
Programa 41:
#Pedir al usuario cuantas llaves
#Llaves valor numerico
#a cada llave, preguntar,cuantos valores
#Capturar, asignar
def totllave ():
c=1
while c:
try:
pllave= int(input("Dame cuantas llaves: "))
print(pllave)
c=0
except:
print("Algo salio mal")
return pllave
def capvalores(mllave):
mllave=totllave()
totllave()
print ("*************************************************************")
def capturar_llaves_y_valores():
diccionario = {}
try:
num_llaves = int(input("¿Cuántas llaves quieres agregar? "))
if num_llaves <= 0:
print("El número de llaves debe ser mayor que 0.")
return
for _ in range(num_llaves):
llave = input("Nombre de la llave: ")
num_valores = int(input(f"¿Cuántos valores para '{llave}'? "))
if num_valores <= 0:
print(f"Debe haber al menos un valor para la llave '{llave}'.")
continue
diccionario[llave] = [input(f"Ingrese valor {i+1}: ") for i in range(num_valores)]
print("\nDiccionario final:", diccionario)
except:
print("Error: Ingresa un número válido.")
capturar_llaves_y_valores()
Programa 42:
def si_suma(a,b):
'''
algo dentro
'''
return a+b
print(si_suma(5,6))
Programa 43:
def multi(num: int)->int: #metadatos
return num*3
#garantiza que el parámetro que entre sea un entero y el el que salga también sea un entero
print(multi (6))
Programa 44:
#Declarar lista
x=[18,12,1975] #funciona como si fuera global
def funciona (entrada):
entrada.append(8)
funciona(x)
#el append solo funciona para una lista
print(x)
Programa 45:
x=[18,12,1975]
def funciona (entrada):
entrada=[]
print("entrada", entrada)
funciona(x)
print(x)
Programa 46:
x=10
print(id(x))
def funciona(entrada):
entrada=0
print(id(entrada))
funciona(x)
Programa 47:
"""
#TAREA
Hacer una lista de calificaciones
pedir al usuario numero de estudiantes
hacer un numero de control consecutivo
con el numero de control van a asignar 3 calificaciones por estudiante
en otro diccionario copian lo anterior y agregar el promedio
44901 45 78 90
44902 80 70 85
capturan lo de arriba
en otro diccionario
44901 45 78 90 71
44902 80 70 85 78.5"""
def numes():
while True:
try:
nest=int(input("Dame tu numero de estudiante: "))
break
except:
print("Valor invalido")
return nest
def ingcal(cales):
dicc=dict()
try:
ncontrol=int(input("Dame el primer numero de control de referencia: "))
for i in range (cales):
ncontrol+=1
try:
Nomat=int(input("Ingresa cuantas materias quieres: "))
Vinternos=[]
for j in range (Nomat):
conten=float(input("Dame tus calificaciones: "))
Vinternos.append(conten)
dicc[ncontrol]=Vinternos
prom=list()
prom=float(sum(Vinternos)/len(Vinternos))
Vinternos.append(prom)
except: print("No es un numero")
except:
print("No es un numero de control")
return dicc
cales=numes()
print(cales)
print(ingcal(cales))
Programa 48:
def funcionar (a,b,*args, **kwargs):
print ("a= ", a)
print ("b= ", b)
for arg in args:
print("args= ", arg)
for key, value in kwargs.items():
print(key, "=", value)
funcionar (10,20,1,2,3,4, x="hola", y="tu", z="hey")
Programa 49:
def funcionar (a,b,*args, **kwargs):
print ("a= ", a)
print ("b= ", b)
for arg in args:
print("args= ", arg)
for key, value in kwargs.items():
print(key, "=", value)
args=[1,2,3,4]
kwargs={'x':"hola",'y':"tu", 'z':"hey"}
funcionar (10,20, *args, **kwargs)
Programa 50:
def funcionar(a, b, *Sia, **Furler):
print("a =", a)
print("b =", b)
for arg in Sia:
print("args =", arg)
for key, value in Furler.items():
print(key, "=", value)
args = [1, 2, 3, 4]
kwargs = {'x': "Florence", 'y': "And", 'z': "The Machine"}
funcionar(10, 20, *args, **kwargs)
Programa 51:
def suma (a: 'parámetro 1', b: 'parametro2')-> 'retorno':
return a+b
print(suma.__annotations__)
Programa 52:
#para las clases poner la palabra reservada "class"
class ClaseUno:
pass
def funciona(a:ClaseUno)->ClaseUno:
#Agregar un return siempre que se haga uno de la flecha
return a
a=ClaseUno
funciona(a)
Programa 53:
def pares(sal:'list'= [])-> 'list':
return [i for i in sal if i%2==0 ]
'''
#Esto es lo mismo que las líneas de arriba
for i in sal
if i%2==0
print(i)
else
pass
'''
print (pares([1,2,3,4,5,6]))
Programa 54:
#U3p54
#lo usamos como biblioteca
def sumar(a,b):
return a+b
def restar(a,b):
return a-b
Programa 55:
import U3p54
print(U3p54.sumar(2,4))
print(U3p54.restar(2,4))
Programa 56:
import P34
print(P34.mult)
#al llamar bibliotecas solo regresan return
Comentarios
Publicar un comentario