Apuntes - de - Programaci - N - en - Python Final
Apuntes - de - Programaci - N - en - Python Final
Febrero, 2022
El presente documento muestra los primeros pasos del lenguaje de programación en python hasta su uso
en el procesamiento digital de señales con diferentes aplicaciones. Para ello se recomienda instalar Anaconda
Navigator https://www.anaconda.com/distribution/ en cualquier sistema operativo (multiplataforma)
Índice
1. Teoria 2
2. Texto 2
3. Ejercicios 9
1
1. Teoria
1. En python cada lı́nea es una instrucción de código. Los comentarios se lo realizan con#. Para realizar
procesos matemáticos no es necesario el uso de variables ya que el entorno puede detectar el tipo de
entrada y puede generar resultados.
# sumar
3+3
Out [1]: 6
# restar
5 -2
Out [2]: 3
# multiplicar
3*2
Out [3]: 6
# division
# decimal es con punto
16/4
Out [4]: 4.0
# potencia
3**2
Out [6]:9
# modulo
3 %2
Out [7]:1
2. Texto
1. Para imprimir un texto se usa print de la sgt forma
print ( " hola mundo )
hola mundo
2. Se puede declarar una variable como texto y concatenarla con una ”,”
cadena = " Esto es un texto "
print ( " Este es el contenido de cadena : " , cadena )
[ P ][ y ][ t ][ h ][ o ][ n ]
[0][1][2][3][4][5]
texto = " Python "
texto [0:3] # El ultimo c a r a c t e r no se c o n s i d e r a
python
PythoN
nohtyP
2
7. La funcion input devuelve como resultado un string. Aparte de eso lo vamos a sumar consigo mismo y
mostrar el resultado.
entero = int ( input ( " Ingrese un enterto : " ) )
suma = entero + entero
print ( suma )
Ingrese un enterto : 12
24
8. Vector ¿listas de datos ,todos elementos de un vector son del mismo tipo,las listas pueden contener elemntos
de diferente tipo
numeros = [1 ,2 ,3 ,4 ,5 ,6]
numeros
[1 , 2 , 3 , 4 , 5 , 6]
9. Listas Vacias
vector = []
vector
[]
[1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10]
[1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 0 , 0 , 7 , 8 , 0 , 10]
[1 , 2 , 3 , 4 , 5]
[3 , 4 , 5]
[3 , 4 , 5 , 6]
3
17. Operadores logicos
Tipo logica: Verdadero o Falso
Tipo relacional: igualdad, mayor que, mayor o igual, menor, menor o igual, diferente
igualdad
= : asignacion
== : comparacion
3 == 3
True
# mayor que
2 >1
# menor o igual
3 <=3
# distinto
valorA = 5
valorB = 7
valorA != valorB
True
# c o m p a r a c i o n con texto
" hola " == " adios "
False
# c o m p a r a c i o n de listas
listaA = [1 ,2 ,3]
listaB =[1 ,2 ,4]
listaA == listaB
False
18. And evalua los dos parametros, si los dos son verdadero entonces resulta verdadero. Basta con que uno
de los dos paramtros sea falso para que los resultado sea falso
True and True
True
# Para indicar inicio in fin del if , las o p e r a c i o n e s deben estar a l i n e a d a s con un tab
Se cumple la condicion
if True :
print ( " Linea1 " )
print ( " Linea2 " )
print ( " Linea3 " )
print ( " Linea4 " ) # linea esta por fue de la e s c r i t u r a if
Linea1
Linea2
Linea3
Linea4
a =7
if a ==2:
print ( " Cumple igual a 2 " )
if a >2:
print ( " cumple mayor que 2 " )
cumple mayor que 2
4
# if a n i d a d o s o if en cascada
a = 5
b = 4
if a > 2:
print ( " cumple a >2 " )
if b ==4:
print ( " Cumple a = 4 " )
cumple a >2
Cumple a = 4
# if ( si c o n d i c i o n a l )
# else ( sino o caso c o n t r a r i o )
if a > 2 and b == 3:
print ( " Cumple ambas condiciones " )
else :
print ( " No cumple alguna condicion " )
n = 10
if n % 2 == 0:
print ( " Numero par " )
else :
print ( " Numero impar " )
comando = input ()
if comando == " entrar " :
print ( " Bienvenido " )
elif comando == " saludar " :
print ( " Hola , mucho gusto " )
elif comando == " salir " :
print ( " Adios " )
else :
print ( " Comando erroneo " )
saludar
Hola , mucho gusto
a = 10
if a == 10:
print ( " if1 " )
elif a <= 100:
print ( " if2 " )
elif a == 0:
print ( " if3 " )
else :
print ( " Else " )
if1
a = 10
if a == 10:
print ( " if1 " )
if a < 100:
print ( " if2 " )
if a > 0:
print ( " if3 " )
if1
if2
if3
21. Uso de while (mientras que), ciclo repetitivo, que ha repetirse siempre que se cumpla una condición
c =1
while c <=10:
print ( " c vale : " ,c )
c +=1
c vale : 1
c vale : 2
c vale : 3
5
c vale : 4
c vale : 5
c vale : 6
c vale : 7
c vale : 8
c vale : 9
c vale : 10
c =1
while c <= 10:
print ( " c vale : " ,c )
c +=1
else :
print ( " salgo del whyle " )
c vale : 1
c vale : 2
c vale : 3
c vale : 4
c vale : 5
c vale : 6
c vale : 7
c vale : 8
c vale : 9
c vale : 10
salgo del whyle
c vale : 1
c vale : 2
c vale : 3
c vale : 4
Rompemos el bucle con c : 5
# s a l t a r n o s del c o n t a d o r
c =1
while c <= 10:
c +=1
if c == 3:
print ( " saltamos c : " ,c )
continue
print ( " c vale : " ,c )
else :
print ( " ciclo terminado " )
c vale : 2
saltamos c : 3
c vale : 4
c vale : 5
c vale : 6
c vale : 7
c vale : 8
c vale : 9
c vale : 10
c vale : 11
ciclo terminado
6
2
3
4
5
6
7
8
9
10
1
2
act
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
[10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100]
H
o
l
a
a
m
i
g
o
s
7
27. Reemplazar letras por *
cadena = " Hola amigos "
cadena2 = " "
for i , c in enumerate ( cadena ) :
cadena2 += " * "
print ( cadena2 )
***********
# S o l u c i o n 1:
cadena = " Hola amigos "
cadena2 = " "
for i , c in enumerate ( cadena ) :
if cadena [ i ]== " a " or cadena [ i ]== " e " or cadena [ i ]== " i " or cadena [ i ]== " o " or cadena [ i ]== " u
":
cadena2 += " * "
else :
cadena2 += cadena [ i ]
print ( cadena2 )
H*l* *m*g*s
for i in texto :
if i in vocales :
textoTratado += " * "
else :
textoTratado += i
textoTratado
H * l * m * nd *
30. cast
[1 , 2 , 12 , 22]
type ( tupla )
tuple
# elementos combinados
tupla = (12 , " Hola " ,[1 ,2 ,3] ,23.5)
tupla [2]
[1 , 2 , 3]
8
lista = [1 ,20 ,2.5 , " Hola " ,[2 ,4 ,6]]
lista2 = lista . pop (1)
print ( lista )
print ( lista2 )
index = lista . index ( " Hola " )
print ( index )
# conjuntos
# c o l e c c i o n e s de datos unicos
conjunto = {5+2 , " a " ,3 ,4 , " c " ," b " }
conjunto
{3 , 4 , 7 , ’a ’ , ’b ’ , ’c ’}
33. Retornar los nombres de una lista que tengan la mayor cantidad de vocales
datos = [ " pedro " , " juan " ," alfonso " ," maria " ," anamaria " ]
valor = 0
maximo = 0
respuesta = []
# conocer el numero m x i m o de vocales de entreo los e l e m e n t o s de datos []
for i in datos :
valor = contarVocales ( i )
if valor >= maximo :
maximo = valor
# conocer a q u e l l a s p a l a b r a s que tienen el numero m x i m o de vocales
for i in datos :
valor = contarVocales ( i )
if valor >= maximo :
respuesta . append ( i . upper () ) # la funcion upper cambia el c o n t e n i d o a m a y u s c u l a s
print ( maximo )
print ( respuesta )
print ( datos )
print ( " MARIA " . lower () )
numero = 5
34. Crear una Funcion, contador de una lista con numero que nos indique cuantos son multiplos de tres
# S o l u c i o n 1: Abel
def c o n t M u l t i p l o s D e T r e s ( lista ) :
cont =0
for i in lista :
if i %3==0:
cont +=1
return cont
3. Ejercicios
1. Un profesor quiere calcular la nota final de sus alumnos en base a dos exámenes y está desarrollando
un algoritmo, el problema es que los exámenes cuentan con diferente aporte a la nota y no sabe cómo
programar. La nota 1 cuenta con el 40 % y la nota 2 cuenta con el 60 % del promedio final
9
nota1 = 5
nota2 = 8
promedio = ( nota1 *0.4 + nota2 *0.6)
print ( promedio )
6.8
2. Ordenar la variable, extraer el nombre y el apellido en una variable, luego xtraer la nota y almacenar
en una variable llamada nota y lo mismo con la materia. Finalmente imprimir un mensaje: ”nombre”ha
sacado una nota de ”nota.en la asignatura ”materia”. Nota: no modificar la variable del ejercicio
cade naCorrup ta = " airotsiH ;6.7 , aicraG nomaR "
cade naCorrup ta = " airotsiH ;6.7 , aicraG nomaR "
ordCadena = cadenaC orrupta [:: -1]
nomAp = ordCadena [:12 ]
nota = ordCadena [13:16]
materia = ordCadena [17::]
print ( nomAp , " ha sacado una de " , nota ," en la asignatura " , materia )
3. Pedir al usuario las tres notas, pedir el nombre y el apellido. Mostrar el mensaje: NOMBRE tiene un
promedio de PROMEDIO.
4. Con las listas dadas a continuacion lista1 y lista2 1. Insertar a la lista1 el numero 1234
2. Insertar a la lista2 el texto ”Adios” y luego el numero 1234
3. Generar la lista3 con todos los elemntos de la lista 1 excepto el primero
4. Generar la lista4 con todos los elementos de la lista2 excepto el ultimo
5. Gnerar la lista 5 con los elementos de la lista3 y lista4
lista1 = [1 ,12 ,123]
lista2 = [ " Bye " , " Ciao " , " Agur " ," Adieu " ]
10
listacosas = [ nombre , edad , numfav ]
listacosas
7. Ingrese por comando una nota del estudiante y evalue los siguientes casos:
1. la nota es mayor a 9: sobresaliente
2. la nota esta entre 9 y 7: adecuado
3. la nota esta entre 5 y 7: bajo
4. la nota es menor a 5: insuficiente
5. la nota esta fuera de rango (0.10): error la nota esta fuera del rango
8. Ejemplo de programa
las triple comillas son para poner textualmente lo que dice entre estas. El while esta condicionada por
una sentencia logica (true) o ( 2==2, se hace un bucle infinito, hasta que lo rompamos con un break por
ejemplo
print ( " Bienvenido a mi programa " )
while True :
print ( """ Elija una opcion :
1. Saludar
2. Sumar dos numeros
3. Salir """ )
dato = int ( input ( " Ingrese el comando " ) )
if dato == 1:
print ( " Hola , mucho gusto " )
elif dato == 2:
n1 = int ( input ( " Ingrese el primer numero " ) )
n2 = int ( input ( " Ingrese el segundo numero " ) )
print ( " La suma de los numeros es : " , n1 + n2 )
elif dato == 3:
print ( " Fin del programa " )
break
else :
print ( " Valor desconocido , vuelve a intentar " )
Bienvenido a mi programa
Elija una opcion :
1. Saludar
2. Sumar dos numeros
3. Salir
11
Ingrese el comando1
Hola , mucho gusto
Elija una opcion :
1. Saludar
2. Sumar dos numeros
3. Salir
Ingrese el comando2
Ingrese el primer numero1
Ingrese el segundo numero2
La suma de los numeros es : 3
Elija una opcion :
1. Saludar
2. Sumar dos numeros
3. Salir
Ingrese el comando3
Fin del programa
9. Realizar un programa que lea un numero ingresado por teclado y lo almacene en la variable dato. Si el
numero no es multiplo de 5, debe repetirse el ingreso por teclado, hasta que lo sea.
notas el simbolo de porcentaje numero con ! es modulo de 5
12. Modificar nuestra cadena al poner * en todas las vocales. Vocales: a,e,i,o,u
12
else :
cadena2 += cadena [ i ]
print ( cadena2 )
H*l* *m*g*s
13. Ordenar de menor a mayor una lista, metodo de burbuja. Comparar la primera posicion de la lista con el
resto de si la primera posicion es mayor que la siguiente se intercambian los datosesto sucede en todas las
posiciones de la lista.
numeros =[16 ,4 ,9 ,1 ,3 ,20 ,8]
aux = 0
for i in range (1 , len ( numeros ) ) :
for j in range (0 , len ( numeros ) -i ) :
if numeros [ j ] > numeros [ j +1]:
aux = numeros [ j ]
numeros [ j ]= numeros [ j +1]
numeros [ j +1]= aux
print
[1 , 3 , 4 , 8 , 9 , 16 , 20]
14. Programa de ingreso de 10 datos en una lista y realizar procesos // 1. Ordenar la lista// 2. Encontrar el
mayor// 3. Encontrar el menor// 4. Salir
numeros = [32 ,5 ,3 ,10 ,1 ,4 ,2 ,9 ,45 ,22]
ordenados = sorted ( numeros )
p = ordenados [:1]
u = ordenados [ len ( numeros ) -1::]
print ( ordenados )
print ( " el primer numero es : " , p )
print ( " el ultimo numero es : " , u )
[1 , 2 , 3 , 4 , 5 , 9 , 10 , 22 , 32 , 45]
el primer numero es : [1]
el ultimo numero es : [45]
15. Crea un nuevo conjunto y realice lo siguiente \\ Insertar los nombres : Ana , Ramon , Marta ,
Eric , Miguel y David \\ Elimina los usuarios Mario , Miguel y Ramon
\\ Imprime el conjunto final
conjunto = { ’ Ana ’ , ’ Ramon ’ , ’ Marta ’ , ’ Eric ’ , ’ Miguel ’ , ’ David ’}
eliminar =[ ’ Mario ’ , ’ Miguel ’ , ’ Ramon ’]
conjunto2 = list ( conjunto )
for i in conjunto2 :
if i in eliminar :
conjunto2 . remove ( i )
conjunto = set ( conjunto2 )
conjunto
16. Genere un diccionario con la lista = [Çarlos G”,”Pedro F”, ”Jose A”, .Alan D”] y agregue como la clave
de cada nombre el clave ÏST00X”
Imprima el diccionario
Ej: IST001: Carlos G
lista = [ " Carlos G " ," Pedro F " , " Jose A " , " Alan D " ]
diccionario = {}
x = 1
for i in lista :
diccionario [ " IST00 " + str ( x ) ]= i
x +=1
diccionario
{ ’ IST001 ’: ’ Carlos G ’ ,
’ IST002 ’: ’ Pedro F ’ ,
’ IST003 ’: ’ Jose A ’ ,
’ IST004 ’: ’ Alan D ’}
13
try :
monto = float ( input ( " Ingrese el monto del credito : " ) )
numCuotas = int ( input ( " En cuantas cuotas desea pagar : " ) )
if numCuotas > 12:
raise Exception ( " El numero de cuotas no debe ser mayor a doce " )
elif numCuotas < 0:
raise Exception ( " El numero de cuotas no puede ser menor que cero " )
valorCuota = monto / numCuotas
print ( " Usted debe pagar cuotas de : " , valorCuota )
except Z e r o D i v i s i o n E r r o r :
print ( " ERROR : La cantidad de cuotas no puede ser igual a cero " )
except ValueError :
print ( " ERROR : Los datos ingresados no corresponden con el tipo esperado " )
except Exception as unError :
print ( unError . args )
else :
print ( " Programa finaliza exitosamente " )
finally :
print ( " Gracias por confiar en nosotros " )
19. def int suma() -¿en otros lnguajes en python no hace falta especificar el tipo de retorno de una funcion
def suma ( n1 , n2 ) :
total = n1 + n2
return total
12
14
ubicaVocales ( " ecuador " )
[0 , 2 , 3 , 5]
15