Está en la página 1de 15

UNIVERSIDAD NACIONAL

PEDRO RUIZ GALLO


LAMBAYEQUE

FACULTAD DE INGENENIERIA CIVIL


DE SISTEMAS Y DE ARQUITECTURA

ESCUELA PROFESIONAL DE
INGENIERÍA DE SISTEMAS.

MATE
RIAL
DIDAC CURSO
TICO
SEMINAR
IO DE
TOPICOS
MODULO
DE 04:
Autor.
Ing. Gavino Marcelo Loyaga
INGENIE
Estructuras
Orbegoso

RIA DE
de control
SISTEMA
S CICLO 2020- I

1
Python – Listas, Tuplas y Diccionarios

Contenido
Una estructura de control, es un bloque de código que permite agrupar
instrucciones de manera controlada. En este capítulo, hablaremos sobre dos
estructuras de control:.........................................................................................................2
 Estructuras de control condicionales.......................................................................2
 Estructuras de control iterativas...............................................................................2
1. Identación...................................................................................................................2
2. Encoding......................................................................................................................2
3. Condicional if............................................................................................................3
3.1. Sentencia if.............................................................................................................4
1.1. Sentencia elif.........................................................................................................4
1.2. Sentencia else........................................................................................................4
1.3. Operador is..............................................................................................................4
1.4. Operador in.............................................................................................................4
1.5. Expresiones condicional....................................................................................4
1.5.1. Expresión if.........................................................................................................4
1.5.2. Ejemplos...............................................................................................................5
2. Operadores lógicos...................................................................................................7
2.1. Operador and..........................................................................................................7
2.2. Operador or.............................................................................................................7
2.3. Operador not..........................................................................................................7
3. Bucle while¶...............................................................................................................7
3.1. Bucle ‘while’ controlado por Conteo............................................................8
3.2. Bucle ‘while’ controlado por Evento............................................................8
3.3. Bucle ‘while’ con ‘else’.......................................................................................9
3.4. Sentencias utilitarias........................................................................................10
3.4.1. Sentencias break.............................................................................................10
3.4.2. Sentencia continue........................................................................................10
Ejemplos................................................................................................................................11
4. Bucle for.....................................................................................................................12
4.1. Tipos de Bucle ‘for’............................................................................................12
4.4.1.1. Bucle ‘for’ con Listas.......................................................................................12
4.4.1.2. Bucle ‘for’ con Listas y función ‘range’¶................................................12
4.4.1.3. Bucle ‘for’ con Diccionarios¶.......................................................................13
4.4.1.4. Bucle ‘for’ con ‘else’.........................................................................................13

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


1
Python – Listas, Tuplas y Diccionarios

Estructuras
De control

Una estructura de control, es un bloque de código que


permite agrupar instrucciones de manera controlada. En
este capítulo, hablaremos sobre dos estructuras de control:
 Estructuras de control condicionales
 Estructuras de control iterativas
En Python tiene las estructuras de control como if (elif,
else); for, while (else, break, continue, pass); las funciones
range() y xrange(); ademas de los tipos iteradores.

1. Identación.
Para hablar de estructuras de control de flujo en Python, es imprescindible
primero, hablar de identación.
¿Qué es la identación? En un lenguaje informático, la identación es lo que
la sangría al lenguaje humano escrito (a nivel formal). Así como para el
lenguaje formal, cuando uno redacta una carta, debe respetar ciertas
sangrías, los lenguajes informáticos, requieren una identación.
No todos los lenguajes de programación, necesitan de una identación,
aunque sí, se estila implementarla, a fin de otorgar mayor legibilidad al
código fuente. Pero en el caso de Python, la identación es obligatoria, ya que
de ella, dependerá su estructura Heterogénea: pueden estar conformadas
por elementos de distintos tipo, incluidos otras listas.

PEP 8: identación (www.recursospython.com)


Una identación de 4 (cuatro) espacios en blanco, indicará que las instrucciones
identadas, forman parte de una misma estructura de control.

Una estructura de control, entonces, se define de la siguiente forma:


inicio de la estructura de control:
expresiones
2. Encoding.
El encoding (o codificación) es otro de los elementos del lenguaje que no
puede omitirse a la hora de hablar de estructuras de control.
Nota El encoding no es más que una directiva que se coloca al inicio de un archivo
Python, a fin de indicar al sistema, la codificación de caracteres utilizada en el
archivo.

# -*- coding: utf-8 -*-

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


2
Python – Listas, Tuplas y Diccionarios

utf-8 podría ser cualquier codificación de caracteres. Si no se indica una


codificación de caracteres, Python podría producir un error si encontrara caracteres
extraños:

3. Condicional if.
La sentencia condicional if se usa para tomar decisiones, este evalúa
básicamente una operación lógica, es decir una expresión que dé como
resultado True o False, y ejecuta la pieza de código siguiente siempre y
cuando el resultado sea verdadero.
A continuación un de estructura condicional if/elif/else completo:

#Código editable1
numero = int(input("\nIngresa un número entero, por favor: "))

if numero < 0:
numero = 0
print('El número ingresado es negativo cambiado a cero.\n')
elif numero == 0:
print('El número ingresado es 0.\n')
elif numero == 1:
print ('El número ingresado es 1.\n')
else:
print ('El número ingresado es mayor que uno.\n')

En el ejemplo anterior usa dos funciones integradas en el intérprete Python:


 La función int() que convierte el valor ingresado a número entero.
 La función input() lee el valor ingresado por la entrada estándar.
El valor es ingresado en la variable numero comprobará en el sentencia
condicional if, si la comprobación devuelve False intentará con el siguiente
bloque condicional elif, si la comprobación devuelve False nuevamente
intentará con el siguiente bloque condicional elif si de nuevo la comprobación
devuelve False por ultimo intentará con el siguiente bloque condicional else la
cual se ejecutara sin comprobación.

1
En éste módulo se presentará el código en imagen y editable.

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


3
Python – Listas, Tuplas y Diccionarios

3.1. Sentencia if.


La sentencia if EXPRESION, significa, Si se cumple la expresión
condicional se ejecuta el bloque de sentencias seguidas.
1.1. Sentencia elif.
La sentencia elif EXPRESION, significa, De lo contrario Si se cumple la
expresión condicional se ejecuta el bloque de sentencias seguidas.
1.2. Sentencia else.
La sentencia else, significa, De lo contrario se cumple sin evaluar ninguna
expresión condicional y ejecuta el bloque de sentencias seguidas.
1.3. Operador is.
El operador is, significa, que prueba identidad: ambos lados de la expresión
condicional debe ser el mismo objecto:

# Operador is
print("1 es igual a 1: ",1 is 1)
a, b = 7, 7
print("a es igual a b: ",a is b)

1.4. Operador in.


El operador in, significa, para cualquier colección del valor del lado izquierdo
contenga el valor del lado derecho:

1.5. Expresiones condicional


1.5.1. Expresión if
La expresión de la sentencia if se evalúa a False cuando se
cumple las siguientes expresiones están presente:
 Cualquier número igual a cero (0, 0.0, 0+0j).
 Un contenedor vació (lista, tupla, conjunto, diccionario).
 False, None.

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


4
Python – Listas, Tuplas y Diccionarios

De lo contrario evalúa a True cuando se cumple la siguiente


expresión está presente:
 Cualquier cosa de lo contrario.

Pass es una sentencia que indica que la expresión no esta


concluida.
También se usan las expresiones:
== para validación
is para validar según corresponda
in para validad según corresponda
1.5.2. Ejemplos

1. Validación con ==
# Validación empleando ==
dato1, dato2, dato3, dato4 = 21, 10, 5, 20;
if (dato1 == dato2):
print ("'dato1' y 'dato2' son iguales.")
else:
print("'dato1' y 'dato2' no son iguales.")

2. Validación con !=

# Validación empleando ¡= (No es igual)


dato1, dato2, dato3, dato4 = 21, 10, 5, 20;
if (dato1 != dato2):
print("'dato1' y 'dato2' son distintas.")
else:
print("'dato1' y 'dato2' no son distintas.")

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


5
Python – Listas, Tuplas y Diccionarios

3. Validación con <

# Validación empleando < (menor que)


dato1, dato2, dato3, dato4 = 21, 10, 5, 20;
if (dato1 < dato2):
print("'dato1' es menor que 'dato2'.")
else:
print("'dato1' no es menor que 'dato2'")

4. Validación con >

# Validación empleando > (menor que)


dato1, dato2, dato3, dato4 = 21, 10, 5, 20;
if (dato1 > dato2):
print("'dato1' es mayor que 'dato2'.")
else:
print("'dato1' no es mayor que 'dato2'")

5. Validación con <=

# Validación empleando <= (menor o igual que)


dato1, dato2, dato3, dato4 = 21, 10, 5, 20;
if (dato3 <= dato4):
print("'dato3' es menor o igual que 'dato4'.")
else:
print("'dato3' NO es menor o igual que 'dato4'.")

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


6
Python – Listas, Tuplas y Diccionarios

6. Validación con >=

# Validación empleando >= (mayor o igual que)


dato1, dato2, dato3, dato4 = 21, 10, 5, 20;
if (dato3 >= dato4):
print("'dato3' es mayor o igual que 'dato4'.")
else:
print("'dato3' NO es mayor o igual que 'dato4'.")

2. Operadores lógicos
Estos son los distintos tipos de operadores con los que puede trabajar con
valores booleanos, los llamados operadores lógicos o condicionales:
2.1. Operador and
El operador and evalúa si el valor del lado izquierdo y el lado derecho se
cumple.

2.2. Operador or

El operador and evalúa si el valor del lado izquierdo o el lado derecho se


cumple.

2.3. Operador not


El operador not devuelve el valor opuesto al valor booleano.

3. Bucle while¶

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


7
Python – Listas, Tuplas y Diccionarios

En Python tiene una palabra reservada llamada while que nos permite
ejecutar ciclos, o bien secuencias periódicas que nos permiten ejecutar
código múltiples veces.

El ciclo while nos permite realizar múltiples iteraciones basándonos en el


resultado de una expresión lógica que puede tener como resultado un valor
True o False.
3.1. Bucle ‘while’ controlado por Conteo
A continuación, se presenta un ejemplo del uso del bucle while
controlado por conteo:

# Bucle while
suma, numero = 0, 1

while numero <= 10:


suma = numero + suma
numero = numero + 1
print ("La suma es " + str(suma))
En este ejemplo tiene un contador con un valor inicial de cero, cada
iteración del while manipula esta variable de manera que
incremente su valor en 1, por lo que después de su primera
iteración el contador tendrá un valor de 1, luego 2, y así
sucesivamente.
Eventualmente cuando el contador llegue a tener un valor de 10, la
condición del ciclo numero <= 10 será False, por lo que el ciclo
terminará arrojando el siguiente resultado.
3.2. Bucle ‘while’ controlado por Evento
A continuación, se presenta un ejemplo del uso del bucle while
controlado por Evento:
# Bucle controlado por evento
promedio, total, contar = 0.0, 0, 0

print ("Introduzca la nota de un estudiante (-1 para salir): ")


grado = int(input())
while grado != -1:
total = total + grado
contar = contar + 1
print("Introduzca la nota de un estudiante (-1 para salir): ")
grado = int(input())
promedio = total / contar

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


8
Python – Listas, Tuplas y Diccionarios

print ("Promedio de notas del grado escolar es: " + str(promedio))

En este casi el evento que se dispara cuando el usuario ingresa el


valor -1, causando que el bucle while se interrumpa.
3.3. Bucle ‘while’ con ‘else’
Al igual que la sentencia if, la estructura while también puede
combinarse con una sentencia else.
El nombre de la sentencia else es equivocada, ya que el bloque else
se ejecutará en todos los casos, es decir, cuando la expresión
condicional del while sea False, (a comparación de la sentencia if).

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


9
Python – Listas, Tuplas y Diccionarios

# While con else


promedio, total, contar = 0.0, 0, 0
mensaje = "Introduzca la nota de un estudiante (-1 para salir): "

grado = int(input(mensaje))
while grado != -1:
total = total + grado
contar += 1
grado = int(input(mensaje))
else:
promedio = total / contar
print ("Promedio de notas del grado escolar: " +
str(promedio))

La sentencia else tiene la ventaja de mantener el mismo nombre y la


misma sintaxis que en las demás estructuras de control.

3.4. Sentencias utilitarias


A continuación, se presentan algunos ejemplos del uso de sentencias
utilitarias usadas en el bucle while:
3.4.1. Sentencias break
A continuación, se presenta un ejemplo del uso del bucle while
controlado la sentencia break:

#Sentencia break
variable = 10
while variable > 0:
print('Actual valor de variable:', variable)
variable = variable -1
if variable == 5:
break
Esta sentencia nos permite salir del ciclo incluso si la expresión
evaluada en while (o en otro ciclo como for) permanece siendo
True.
3.4.2. Sentencia continue

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


10
Python – Listas, Tuplas y Diccionarios

A continuación, se presenta un ejemplo del uso del bucle while


controlado la sentencia continue:

#Sentencia continue¶
variable = 10
while variable > 0:
variable = variable -1
if variable == 5:
continue
print ('Actual valor de variable:', variable)

La sentencia continue hace que pase de nuevo al principio del bucle aunque
no se haya terminado de ejecutar el ciclo anterior.

Ejemplos

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


11
Python – Listas, Tuplas y Diccionarios

4. Bucle for
La sentencia for en Python difiere un poco de lo que uno puede estar
acostumbrado en lenguajes como C o Pascal. En lugar de siempre iterar
sobre una progresión aritmética de números (como en Pascal) o darle al
usuario la posibilidad de definir tanto el paso de la iteración como la
condición de fin (como en C), la sentencia for de Python itera sobre los ítems
de cualquier secuencia (una lista o una cadenas de caracteres), en el orden
que aparecen en la secuencia.
4.1. Tipos de Bucle ‘for’
A continuación, se presentan algunos ejemplos del uso del bucle
for:
4.4.1.1. Bucle ‘for’ con Listas
A continuación, se presenta un ejemplo del uso del bucle for con
tipos de estructuras de datos listas:

# Bucle 'for' con listas


animales = ['gato', 'perro', 'serpiente']
for animal in animales:
print ("El animal es: {0}, tamaño de palabra es:
{1}".format( animal, len(animal)))

4.4.1.2. Bucle ‘for’ con Listas y función ‘range’¶


A continuación, se presenta un ejemplo del uso del bucle for con tipos
de estructuras de datos listas con la función range() y la función len():

# Bucle 'for' con listas y la función 'range'


oracion = 'Mary entiende muy bien Python'
frases = oracion.split() # convierte a una lista cada palabra

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


12
Python – Listas, Tuplas y Diccionarios

print ("La oración analizada es:", oracion, ".\n")


for palabra in range(len(frases)):
print ("Palabra: {0}, en la frase su posición es: {1}".format(
frases[palabra], palabra))

4.4.1.3. Bucle ‘for’ con Diccionarios¶


A continuación, se presenta un ejemplo del uso del bucle for con tipos de
estructuras de datos diccionarios:

# Bucle 'for' con diccionarios


datos_basicos = {
"nombres":"Leonardo Jose",
"apellidos":"Caballero Garcia",
"cedula":"26938401",
"fecha_nacimiento":"03/12/1980",
"lugar_nacimiento":"Maracaibo, Zulia, Venezuela",
"nacionalidad":"Venezolana",
"estado_civil":"Soltero"
}
clave = datos_basicos.keys()
valor = datos_basicos.values()
cantidad_datos = datos_basicos.items()
print('Clave: ---> Valor')
print('-------------------')
for clave, valor in cantidad_datos:
print (clave + ": " + valor)

4.4.1.4. Bucle ‘for’ con ‘else’


Al igual que la sentencia if y el bucle while, la estructura for también puede
combinarse con una sentencia else.

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


13
Python – Listas, Tuplas y Diccionarios

El nombre de la sentencia else es equivocada, ya que el bloque else se


ejecutará en todos los casos, es decir, cuando la expresión condicional del
bucle for sea False, (a comparación de la sentencia if).

# Bucle 'for' con 'else'


db_connection = "127.0.0.1","5432","root","nomina"
for parametro in db_connection:
print (parametro)
else:
print ("""El comando PostgreSQL es:
$ psql -h {server} -p {port} -U {user} -d {db_name}""".format(
server=db_connection[0], port=db_connection[1],
user=db_connection[2], db_name=db_connection[3]))

La sentencia else tiene la ventaja de mantener el mismo nombre y la misma


sintaxis que en las demás estructuras de control.

Ing. Gavino Marcelo Loyaga Orbegoso UNPRG – 2020


14

También podría gustarte