1.3.3 Lab - Python Programming Review
1.3.3 Lab - Python Programming Review
Objetivos
Parte 1: Ejecutar la máquina virtual (Virtual Machine) de DEVASC.
Parte 2: Iniciar Python y código VS.
Parte 3: Revisar tipos de datos y variables.
Parte 4: Listas de revisión y diccionarios.
Parte 5: Revisar la función de entrada.
Parte 6: Revisar las funciones if, for y while.
Parte 7: Métodos de revisión para el acceso a archivos
Aspectos básicos/Situación.
En este laboratorio, se revisan las habilidades básicas de programación de Python, incluyendo tipos de
datos, variables, listas, diccionarios, entrada de usuario, sentencias if, bucles for y while y acceso a archivos.
Este laboratorio no es un sustituto de la experiencia de programación previa y no cubre necesariamente
todas las habilidades de Python que necesitará para este curso. Sin embargo, este laboratorio debería servir
como una buena medida de sus habilidades de programación de Python y ayudarlo a dirigirlo a donde puede
necesitar más revisión.
Nota: Este es un recordatorio. Asegúrese de observar bien los ajustes correctos de la sangría en Python al
escribir sus scripts. Si necesita un tutorial, busque en Internet Reglas de sangría de Python.
Recursos necesarios.
Una computadora con el sistema operativo de su elección.
VirtualBox o VMware.
Máquina virtual (Virtual Machine) DEVASC.
Instrucciones
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 1 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
Nota: Tiene que cambiarlo a python2 -V en caso de que esté usando un dispositivo diferente y éste esté
ejecutando la versión 2. Sin embargo, a partir del 1 de enero de 2020, Python 2 ya no va a recibir
soporte. Por lo tanto, Python 2 no es compatible con este laboratorio o este curso.
Nota: En el momento en que se escribió este laboratorio, Python 3.8.2 era la última versión. Aunque
puede actualizar su instalación de Python con el comando sudo apt-get install python3, ya que este
laboratorio y el resto de los laboratorios de este curso se basan en Python 3.8.2.
b. Para iniciar Python, escriba python3. Los tres corchetes angulares (>>>) indican que está en el
intérprete interactivo de Python.
devasc @labvm ~$ python3
Python 3.8.2 (predeterminado, 13 de marzo de 2020, 10:14:16)
[GCC 9.3.0] en Linux
Escriba "help", "copyright", "credit" o "license" para obtener más información.
>>>
Introduzca algunas operaciones matemáticas utilizando la sintaxis de Python, como se muestra en los
ejemplos.
>>> 2+3
5
>>> 10-4
6
>>> 2*4
8
>>> 20/5
4,0
>>> 3**2
9
b. Recuerde que Python utiliza el orden estándar de operaciones comúnmente conocido como PEMDAS.
Las expresiones matemáticas se evalúan en el siguiente orden.
Parentesis
Exponentes
Multiplicación y División
Suma y Resta
Intente introducir una expresión con un orden complejo de operaciones en el intérprete interactivo.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 2 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 3 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
devasc @labvm: ~$
En este curso, el usuario, normalmente, ejecutará sus scripts directamente dentro del Código VS.
Paso 1: Utilice el intérprete interactivo para revisar los tipos de datos básicos.
En programación, los tipos de datos son una clasificación que le dice al intérprete cómo el programador
pretende utilizar los datos. Por ejemplo, el intérprete necesita saber si los datos introducidos por el
programador son un número o una string (cadena). Aunque hay varios tipos de datos diferentes, nos
centraremos solo en los siguientes:
Integer(Entero) : Se utiliza para especificar números enteros (sin decimales), como 1, 2, 3, etc. Si se
introduce un entero con un decimal, el intérprete ignora el decimal. Por ejemplo, 3.75 se interpreta como
3.
Float (Flotante) : Se utiliza para especificar números que necesitan un valor decimal, como 3.14159.
String (Cadena) : Cualquier secuencia de caracteres como letras, números, símbolos o signos de
puntuación.
Boolean (Booleano) : Cualquier tipo de datos que tenga un valor de Verdadero o Falso.
Utilice el tipo()de comando para determinar los tipos básicos de datos: int, float, string, boolean.
devasc @labvm: ~/labs/devnet-src$ python3
Python 3.8.2 (predeterminado, 13 de marzo de 2020, 10:14:16)
[GCC 9.3.0] en Linux
Escriba "help", "copyright", "credit" o "license" para obtener más información.
>>> type(98)
<class 'int'>
>>> type(98.6)
<class 'float'>
>>> type("Hi!")
<class 'str'>
>>> type(True)
<class 'bool'>
Operador. Significado.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 4 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
>>> 1<2
Verdadero
>>> 1<1
Falso
>>> 1==1
Verdadero
>>> 1>=1
Verdadero
>>> 1<=1
Verdadero
b. Para imprimir variables sin necesidad de usar una variable para crear un espacio, debe de separar las
variables con una coma.
>>> print (str1, str2, str3)
Cisco Networking Academy
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 5 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
>>>
b. Utilice la función str () para convertir el tipo de datos integer (entero) en un tipo de datos string (cadena).
>>> print("El valor de x es " + str(x))
El valor de x es 3.
>>> type(x)
<class 'int'>
c. Observe que el tipo de datos de la variable x sigue siendo un entero. Para convertir el tipo de datos,
reasigne la variable al nuevo tipo de datos.
>>> x=str (x)
>>> type(x)
<class 'str'>
d. Probablemente, deseé mostrar una variable float (flotante) con un número específico de decimales, en
lugar de un número entero. Para hacer esto, puede usar f-strings y la función "{:.2f}" .format.
Nota: Busque en Internet para obtener más información sobre las f-strings y la función de formato.
>>> num = 22/7
>>> f"El valor de num es {num}"
'El valor de num es 3.142857142857143'
>>> pi = "{:.2f}" .format (num)
>>> f"El valor de pi es {pi}."
'El valor de pi es 3,14. '
>>>
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 6 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
o El primer elemento de una lista se indexa como cero, el segundo se indexa como uno, y así
sucesivamente.
o Se puede hacer referencia al último elemento con el índice [-1].
o Reemplace un elemento asignando un nuevo valor al índice.
o Utilice el comando del para eliminar un elemento de una lista.
>>> hostnames[0]
'R1'
>>>hostnames[-1]
'S2'
>>>hostnames[0]="RTR1"
>>> hostnames
['RTR1', 'R2', 'R3', 'S1', 'S2']
>>> del hostnames[3]
>>> hostnames
['RTR1', 'R2', 'R3', 'S2']
>>>
b. A diferencia de las listas, los objetivos dentro de un diccionario no pueden ser referenciados por su
número de secuencia. En su lugar, se hace referencia a un objeto de diccionario mediante su clave.
o La clave está entre corchetes [].
o Las claves que son cadenas pueden ser referenciadas usando comillas simples o dobles.
o Utilice una clave en la instrucción del diccionario para verificar si existe alguna clave en el
diccionario.
o Agregue un par clave/valor estableciendo la nueva clave igual a un valor.
>>> ipAddress
{'R1': '10.1.1.1', 'R2': '10.2.2.1', 'R3': '10.3.3.1'}
>>> ipAddress['R1']
'10.1.1.1'
>>> ipAddress["S1"]="10.1.1.10"
>>> ipAddress
{'R1': '10.1.1.1', 'R2': '10.2.2.1', 'R3': '10.3.3.1', 'S1': '10.1.1.10'}
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 7 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
>>>
c. Los valores de un par clave/valor pueden ser cualquier otro tipo de datos, incluidas listas y diccionarios.
Por ejemplo, si R3 tiene más de una dirección IP, ¿cómo representaría eso dentro del diccionario IP
Address ? Cree una lista para el valor de la clave R3.
>>> ipAddress["R3"]=["10.3.3.1","10.3.3.2","10.3.3.3"]
>>> ipAddress
{'S1': '10.1.1.10', 'R2': '10.2.2.1', 'R1': '10.1.1.1', 'R3': ['10.3.3.1', '10.3.3.2',
'10.3.3.3']}
>>>
Paso 1: Crear una variable para almacenar la entrada del usuario y, a continuación, muestre el
valor.
La mayoría de los programas requieren algún tipo de entrada, ya sea de una base de datos, de otra
computadora, de clics del mouse o de entrada del teclado. Para la entrada del teclado, utilice la función input
() que incluye un parámetro opcional para proporcionar una cadena de mensaje (prompt string). Si se llama a
la función de entrada, el programa se detendrá hasta que el usuario proporcione la entrada y presione la
tecla Enter. Asigne la función input () a una variable que solicite al usuario la entrada y luego imprima el
valor de la entrada del usuario.
>>> firstName = input("¿Cuál es tu primer nombre? ")
¿Cuál es tu primer nombre? User_Name
>>> print("Hola " + firstName +"!")
Hola User_Name!
>>>
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 8 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
c. Modifique las variables para que NativeVLAN y DataVLAN para que tengan el mismo valor. Guarde y
ejecute el script de nuevo. Su salida debería ser similar al siguiente ejemplo.
La VLAN nativa y la VLAN de datos son las mismas.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 9 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
Nota: El tipo de datos para la función de entrada se cambia de la string predeterminada a un integer (entero)
para que las evaluaciones if y elif funcionen.
b. Ejecute varias veces para probar cada instrucción.
devasc @labvm: ~/labs/devnet-src/python$ python3 if-acl.py
¿Qué es el número ACL IPv4? 10
Esta es una ACL IPv4 estándar.
devasc @labvm: ~/labs/devnet-src/python$ python3 if-acl.py
¿Qué es el número ACL IPv4? 110
Esta es una ACL IPv4 extendida.
devasc @labvm: ~/labs/devnet-src/python$ python3 if-acl.py
¿Qué es el número ACL IPv4? 200
Esta no es una ACL IPv4 estándar o extendida.
devasc @labvm: ~/labs/devnet-src/python$
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 10 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
R2
R3
>>>
c. También puede utilizar una combinación del bucle for y la sentencia if para crear una nueva lista.
Introduzca el siguiente ejemplo para ver cómo utilizar el método append () para crear una nueva lista
denominada switches. Asegúrese de seguir los requisitos para la sangría.
>>> switches=[]
>>> for item in devices:
... if "S" in item:
... switches.append (item)
...
>>> switches
['S1', 'S2']
>>>
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 11 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
9
10
devasc @labvm: ~/labs/devnet-src/python$
c. En lugar de usar while y <= x, podemos modificar el bucle while para usar una comprobación booleana y
romper para detener el bucle cuando la comprobación se evalúa como falsa. Modifique el script while-
loop.py como se muestra en lo siguiente:
x=input("Ingrese un número para contar hasta:")
x=int (x)
y=1
while True:
print(y)
y=y+1
si y>x:
break
d. Guarde y ejecute el script. Debería obtener el mismo resultado que en el paso 4b anterior.
Paso 5: Utilice un bucle while para comprobar si hay un comando quit de usuario.
¿Qué pasa si queremos que el programa se ejecute tantas veces como el usuario desee hasta que el usuario
salga del programa? Para ello, podemos incrustar el programa en un bucle while que comprueba si el usuario
ingresa un comando quit, como q o quit.
a. Modifique su script while-loop.py con los siguientes cambios:
o Agregue otro bucle while al principio del script que comprobará si hay un comando quit.
o Agregue una función if al bucle while para verificar q o quit.
Nota: Asegúrese de incluir todos los niveles requeridos de sangría.
while True:
x=input("Ingrese un número para contar hasta:")
if x == 'q' o x == 'quit':
break
x=int (x)
y=1
while True:
print(y)
y=y+1
if y>x:
break
b. Guarde y ejecute el script. La salida debe ser similar a la siguiente, en la que el usuario introdujo dos
valores diferentes antes de salir del programa.
devasc @labvm: ~/labs/devnet-src/python$ python3 while-loop.py
Introduzca un número para contar: 3
1
2
3
Introduzca un número para contar: 5
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 12 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
1
2
3
4
5
Introduzca un número para contar: quit
devasc @labvm: ~/labs/devnet-src/python$
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 13 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 14 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 15 de 16
www.netacad.com
Laboratorio - Revisión de programación de Python.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 16 de 16
www.netacad.com