Documentos de Académico
Documentos de Profesional
Documentos de Cultura
OBJETIVOS DE LABORATORIO
(9) APLICAR LAS BASES DEL LENGUAJE DE PROGRAMACIÓN PYTHON EN
EL AMBIENTE DE IPYTHON NOTEBOOK.
(10) APLICAR LAS BASES DEL LENGUAJE DE PROGRAMACIÓN PYTHON EN
EL AMBIENTE DE IPYTHON NOTEBOOK.
PRÁCTICA 9
ACTIVIDAD 1
Inicialización de Variables
lenguaje Python trabaja con índices iniciados en 0 por lo que si una de las llaves
tiene el número 0 se colocará la primera variable dentro del format.
Este código no recibe ningún parámetro de entrada y lo único que devuelve son
impresiones de pantalla con el valor de las respectivas variables trabajadas. Se le
agregó la biblioteca os mediante from os import* (lo que podemos traducir como
“de la biblioteca os importar todas las funciones) para hacer uso de las funciones
del sistema (cls y pause).
ACTIVIDAD 3
Operadores y booleanos
que podemos traducir como “de la biblioteca os importar todas las funciones) para
hacer uso de las funciones del sistema (cls y pause).
ACTIVIDAD 4
Listas
las Tuplas es ponerle nombre a una tupla “general”, esto significa que podemos
crear una “variable” de tipo tupla (tal como lo hacíamos con las estructuras en C que
creábamos variables de un tipo de estructura) para ello mandamos importamos la
función namedtupla de la biblioteca collections una vez hecho eso lo que hacemos
es a la variable (en este caso planeta) la igualamos a la función
namedtupla(‘planeta’, [‘nombre’, ‘numero’]), el primer argumento se refiere al
nombre que tendrá la tupla mientras que el segundo es el nombre del planeta que
vamos a almacenar (una variable) junto con su respetivo número (otra variable de
la Tupla). Después lo que hacemos es igualar una variable a planeta con el nombre
del planeta y su número planeta1=planeta(‘Mercurio’, 1) lo que significa que la
variable planeta1 tiene las características de la tupla planeta y contendrá el nombre
del planeta Mercurio junto con su posición en el sistema solar.
Para imprimir los valores lo podemos hacer de dos formas:
a) print(planeta1.nombre, planeta1.numero) esto es equivalente, en C, a
acceder a las partes de una estructura mediante el operador punto, con esta
forma imprime el nombre y seguido el número del planeta.
b) Print(planeta2[0], planeta2[1]) Significa que imprimirá primero el valor en la
posición 0 (el nombre del planeta) de la tupla y luego el valor de la posición
1 (el número) de la Tupla
Por último si queremos ver (después de haber creado una tupla mediante
named.tupla) las partes de la tupla o sea el tipo de contenido que tendrá hacemos
print(‘{}’.format(planet._fields)) y con esto en el paréntesis imprimirá los campos
de la Tupla.
Este código no espera ningún parámetro de entrada y lo que espera que regrese
son impresiones de pantalla de las Tuplas creadas. Se le agregó la biblioteca os
mediante from os import* (lo que podemos traducir como “de la biblioteca os
importar todas las funciones) para hacer uso de las funciones del sistema (cls y
pause).
ACTIVIDAD 6
Diccionarios
ACTIVIDAD 9
Código del Ejercicio 1 Convertir Unidades
Por otro lado, ya sea que antes de entrar al while o dentro de este, si se escoge la
opción e se pasa a un if para validar que si se escogió e y de ser así se imprime
una leyenda diciendo que se cierra el programa.
Se le agregó la biblioteca os mediante from os import* (lo que podemos traducir
como “de la biblioteca os importar todas las funciones) para hacer uso de las
funciones del sistema (cls y pause).
ACTIVIDAD 10
Código del Ejercicio 2 Trabajando con una Lista
Figura 10.2 Ejecución Exitosa del Código Trabajando con una Lista
Lo que hace el código es crear una función la cual declara una lista con 8 valores y
declara otras 2 variables (var1=0 y var2=1); después entra a un ciclo for el cuál
estará iterando con una variable i mientras que ésta no llegue al final de la lista
creada, dentro del for lo que hará es ir sumando los valores de la lista y almacenarlos
en la variable var1+=i (dónde i se encuentra en la primera posición de la lista), una
vez terminado el for pasaremos a otro for (con las mismas condiciones que el
anterior cambiando i por j) pero ahora irá multiplicando los valores de la lista var2*=j
dónde j es el valor dónde se encuentra de la lista. Para terminar la función imprime
las variables.
Al final del código manda a llamar la función anterior (función()). No se espera
ningún valor de entrada al código para su correcto funcionamiento, sin embargo en
la salida veremos impresiones de pantalla. Se le agregó la biblioteca os mediante
from os import* (lo que podemos traducir como “de la biblioteca os importar todas
las funciones) para hacer uso de las funciones del sistema (cls y pause).
Cote Valencia Alexis Daniel Gpo1 Práctica 9-10 Introducción Python (I,II)
PRÁCTICA 10
ACTIVIDAD 1
IF
ACTIVIDAD 4
Ciclo While
El tercer for iteramos sobre los valores del diccionario para ello usaremos la
variable valor sobre elementos.values() para imprimir mediante print(valor)
obteniendo en pantalla impresiones con los siguientes valores 1, 2, 6.
El cuarto for utiliza dos variables uno que funge como índice idx y el segundo
que es para movernos en las llaves del diccionario x, las iteraciones se
realizarán de la siguiente manera for indx, x in enumerate(elementos)
(enumerate nos permite trabajar con los índices del diccionario, si no
utilizamos la palabra reservada enumerate pero si con las dos variables el
código nos marcará error) ya dentro del for lo que se hace es imprimir la llave
con su respectivo índice print(“El índice es: {} y el elemento es:
{}”.format(idx,x)) obteniendo en pantalla El índice es: 1 y el elemento es:
hidrogeno.
Ahora pasemos con las funciones:
cuenta_idiom() Recibe como parámetro de entrada un número entero,
después mediante un for y una variable que nos ayude a movernos (i) iremos
de la siguiente manera for i in range(limite,0,-1) (dónde límite es el
parámetro de entrada a la función) como vemos range tiene ahora tres
valores, el primero hace referencia al punto de partida (de dónde iniciaremos
la iteración), el segundo hasta dónde no debemos llegar (en este caso al ser
cero debemos llegar al 1) mientras que el tercero nos indica los saltos de la
iteración (en este caso al ser -1 iremos moviéndonos de formas descendente
una unidad) mientras que esto se vaya cumpliendo imprimiremos los valores
iniciando por el límite hasta llegar a 1. Como podemos ver existe un else
dentro de la función, dicho else tiene la misma funcionalidad que con el if
pero ahora con el for, esto significa que cuando no se cumpla lo del for o
leguemos al final de las iteraciones nos dirigiremos al else para realizar la
impresión de pantalla indicada. Después de haber escrito la función se
manda a llamar con el valor de entrada 5 obteniendo en pantalla una serie
de números que van del 5-1 seguida de una leyenda que dice Cuenta
finalizada.
cuenta_idiomv2() Recibe como parámetro de entrada un número entero,
funciona en su totalidad igual que la función anterior sólo que ahora dentro
del for tenemos un if, cuando el valor de i sea igual a 3 pasaremos a un
break el cuál rompe con el ciclo pero además hace que se ignore el else de
la función. Después de haber escrito la función se manda a llamar con el
valor de entrada 5 obteniendo en pantalla una serie de números del 5-3.
Para el correcto funcionamiento del código no se necesita un valore de entrada, en
la parte de salida esperamos impresiones de pantalla. Se le agregó la biblioteca os
mediante from os import* (lo que podemos traducir como “de la biblioteca os
importar todas las funciones) para hacer uso de las funciones del sistema (cls y
pause).
Cote Valencia Alexis Daniel Gpo1 Práctica 9-10 Introducción Python (I,II)
ACTIVIDAD 7
Bibliotecas
Primero que nada se debe aclara que el código original tenía varias fallas, se supuso
que esto pasaba porque no se trabajaba con el Jupyter Notebook, cuando se
compilaba el archivo se tenían varios errores respecto a las bibliotecas utilizadas
matplotlib, numpy y scipy (estas dos últimas son “subbliotecas” de matplotlib) tal
parecía que al momento de descargar Python de la página original dichas
bibliotecas no venían por defecto entonces para poder solucionar este problema se
accedió (mediante el símbolo del sistema) a la siguiente dirección del disco duro:
C:\Users\%Username%\AppData\Local\Programs\Python\Python39\Scripts
Ya ahí lo que se hace es ingresar el siguiente comando pip install biblioteca (en
la parte de biblioteca se pone las bibliotecas no instaladas y requeridas, por lo que
debimos hacer este paso 3 veces) y lo que hará a continuación es mostrar una barra
de carga que hace referencia a la descarga e instalación en progreso. Terminado
todo esto nos regresamos al programa para ejecutarlo sin embargo pero aparecían
otros dos problemas, el primero era que no existía el módulo pylab (%pylab inline)
así que se optó por quitarlo pero después había error en que no existía inline así
que mejor se comentó ese renglón, el segundo error era que al momento de
ejecutarlo el comando linspace no se había declarado por lo que investigando se
encontró que ese comando está en la biblioteca numpy así que se importó dicha
biblioteca y así ya no marcaba error.
Lo que hace el código es graficar la función de sin (seno) de x, los primeros
renglones del código son las importaciones de las bibliotecas a utilizar después lo
que se hace es igualar la variable x al comando linspace(0, 5, 20) lo cuál en la
gráfica generará 20 puntos de la gráfica sin (respecto al eje x) que vayan de 0 a 5.
El siguiente renglón no se supo qué son los comandos fug, ax, plt.subplots sin
embargo “experimentando” con ese renglón se llegó a la conclusión de que el primer
argumento modifica el color de fondo de la ventana emergente de la gráfica mientras
que el segundo argumento modifica el borde de la ventana (aunque no se pudo
apreciar dicha modificación).
Con el siguiente renglón se dedujo que los parámetros de entrada dentro de los
paréntesis son los necesarios para crear la gráfica, el primer parámetro es respecto
a qué variable se graficará, el segundo parámetro qué función se graficará, los
siguientes dos se refieren a cómo aparecerán en la gráfica los “datos” importantes
de la función para terminar el último parámetro no se entendió qué es lo que hace.
Los renglones en las que aparece una validación True no se pudo comprobar qué
era lo que hacía, las partes de ax.set_xlabel y ax.set_ylabel son para que
aparezcan en los ejes las respectivas leyendas de X y Y mientras que la parte de
ax.legend es para indicar que los puntos graficados son el punto y igual a la función
de x (y=sin(x)).
Cote Valencia Alexis Daniel Gpo1 Práctica 9-10 Introducción Python (I,II)
pl.title lo que hace es asignarle un nombre a la gráfica, por otra parte el comando
plt.savefig lo que hace es guardar la gráfica en forma de imagen para ello dentro
de los paréntesis indicamos el nombre que deseamos darle a la imagen junto con
la extensión y el último comando plt.show es para que nos aparezca en pantalla la
ventana de la gráfica que hemos creado; cabe aclarar que en el código original se
escribía primero plt.show() y después plt.savefig pero al momento de guardar la
gráfica en el formato especificado este sólo guardaba una hoja en blanco pero si
abría la ventana de la gráfica de Python, para solucionarlo se puso que primero se
guarde la imagen/pdf/documento de la gráfica y después se mostrara en pantalla.
Para el correcto funcionamiento del código no se necesita un valore de entrada, en
la parte de salida esperamos impresiones de pantalla. Se le agregó la biblioteca os
mediante from os import* (lo que podemos traducir como “de la biblioteca os
importar todas las funciones) para hacer uso de las funciones del sistema (cls y
pause).
ACTIVIDAD 9
Ejecución llenado de datos desde la ventana de comando (cmd)
leyenda diciendo que por favor escoja una de las opciones establecidas. Para
finalizar el código se manda a llamar la función opciones() para que podamos
ejecutar el código como se explicó. Cómo podemos ver en términos de presentación
es mejor ejecutar los programas desde el símbolo del sistema y no en el IDLE esto
porque en el cmd si se limpiará la pantalla mediante los system(“cls”) pero el IDLE
no tiene esta capacidad por lo que se irá acumulando todas las impresiones de
pantalla que realicemos.
Para el correcto funcionamiento del código no se necesita un valore de entrada, en
la parte de salida esperamos impresiones de pantalla. Se le agregó la biblioteca os
mediante from os import* (lo que podemos traducir como “de la biblioteca os
importar todas las funciones) para hacer uso de las funciones del sistema (cls y
pause).
ACTIVIDAD 10
Actividad 10.1
Adivina la contraseña
variable j sea menor a 3 (j está iniciada en 0), dentro del while se iguala la variable
intenos=3-j para después decirle al usuario que le quedan intentos para adivinar
la contraseña que lo intente de nuevo, después nos encontramos con otro if (dentro
del while) para ver si se ingresó la contraseña requerida porque si esto se cumple
se le indica al usuario y termina el while de lo contrario se repetirá la instrucción del
while; si el usuario no adivina la contraseña en 4 intentos (el primero y los otros 3
del while) se imprimirá una leyenda dónde indicará cuál era la contraseña.
Sin embargo, si se adivina desde el primer intento la contraseña se le indica al
usuario que es correcta y puede continuar. Se le agregó la biblioteca os mediante
from os import* (lo que podemos traducir como “de la biblioteca os importar todas
las funciones) para hacer uso de las funciones del sistema (cls y pause).
ACTIVIDAD 11
Calificación
CONCLUSIONES
El uso de este nuevo lenguaje de programación no fue de dificultad para el alumno
debido a que, antes de entrar al semestre en curso, se tomó un curso para aprender
la syntaxis y su, por otro lado el alumno encuentra pros y contras tales como que es
más rápido/sencillo programar ya que no se ocupan llaves para indicar el inicio-fin
de algún ciclo al igual que no debemos utilizar los punto y coma al terminar un
renglón provocando que se reduzca el tiempo de escritura y el tamaño del código,
sin embargo esto también puede ser un contra porque si el alumno no está
acostumbrado a ocupar sangrías en la programación de C fácilmente puede
ocasionar errores al programar en Python. Otra cosa importante es que es un poco
más complicado el uso de las bibliotecas, esto porque al momento de importarlas
(lo que es equivalente a incluirlas en C) si queremos hacer uso de alguna función
dentro de ellas debemos ocupar la extensión nombre_bibloteca.funcion_deseada
lo que ocasionaría costo en el tiempo de programación o incluso errores si el
programador se le olvida hacerlo, aunque existe una solución (importar toda las
funciones de la biblioteca y no sólo la biblioteca) puede que al programador también
se le olvide.
Otra desventaja es que no existe el do-while para poder, dentro de este, asignar
valores a la variable que queremos usar como condición (o incluso hacer
impresiones de pantalla consecutivas antes de asignar valor a la variable deseada)
provocando que tengamos que hacer las impresiones de pantalla y asignación de
la variable fuera de un while para después volver hacerlo dentro de este
ocasionando que el código sea más extenso de lo habitual, por otro lado tenemos
la ausencia del switch aunque se puede remplazar con if-elif-else nos trae un gran
problema debido a que en el switch podíamos poner en un mismo renglón dos casos
a la vez si estos eran de aspecto carácter (minúscula y mayúscula) la solución sería
el uso de una lista o de estructura lógica and/or provocando que el programador
tenga confusiones o no llegue a lo deseado.
A pesar de todo lo anterior Python nos facilita la vida en comparación a C ya que
tiene varias funciones ya creadas (como contar la repetición de una letra en una
cadena de caracteres, ver la longitud de una cadena de caracteres, etc)
ahorrándonos tiempo y espacio, esto debido a que en C nosotros deberíamos crear
esas funciones o al menos los renglones de código para ocupar dentro de una
función, otro pro que tiene este lenguaje de programación es que nos evita tener los
conflictos de las variables enteras, flotantes, cadenas, caracteres permitiéndonos
mezclar o modificar durante la ejecución de un programa sin entrar en conflictos.
Por último Python nos permite realizar operaciones que no dejaba C además de que
podemos realizar gráficas.
Hablando en el tema de la práctica los problemas mostrados nos permiten
familiarizarnos con este lenguaje junto con la comparación de C para así hacer más
fácil/sencilla la transición de un lenguaje a otro, en la primera práctica se llevo
Cote Valencia Alexis Daniel Gpo1 Práctica 9-10 Introducción Python (I,II)