0% encontró este documento útil (0 votos)
5 vistas

03 - 02 AlgProg - Fundamentos de Programación en Python

ewefq32f

Cargado por

Ariana Guillen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas

03 - 02 AlgProg - Fundamentos de Programación en Python

ewefq32f

Cargado por

Ariana Guillen
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 52

Algoritmos y

Programación en
Python
Unidad 3 – Fundamentos de
programación en Python
Coordinación del curso
Contenido
2. FUNDAMENTOS DE PROGRAMACIÓN
3.1 Introducción Informal y Tipo de Datos
3.2 Operadores y expresiones
3.3 Entradas y Salidas
3.4 Controlando el flujo
• Sentencia IF
• Sentencia While
• Sentencia FOR
3.5 Matrices
3.1 Introducción y Tipos
de Datos
3.1 Introducción informal y Tipo de Datos
Nombre de variables
Una variable puede tener nombres cortos como X e Y, o tener nombres más descriptivos como Edad, Nombre, Volumen_Total.
Reglas para las variables de Python:
➢ Una variable debe iniciar con una letra o una raya abajo ( _ underscore character)
➢ Una variable no puede iniciar con numero
➢ Una variable puede contener solo caracteres alfa numéricos o raya abajo (A-z, 0-9, and _ )
➢ Los nombres de las variables son sensibles a las mayúsculas (p.e. edad, Edad, EDAD son tres variables diferentes)

Declaración de variables
Python como muchos lenguajes, declara la variable con el primer valor asignado a este. NO REQUIERE UN COMANDO
➢ x=5
➢ y = "Hello, World!“

Asignación de valores a múltiples variables


Python permite asignar valores a múltiples variables en una sola línea.
➢ x, y, z = ”Orange”, ”Banana”, ”Cherry”
➢ x = y = z = ”Orange”
3.1 Introducción informal y Tipo de Datos
Variables locales y globales
Si se asigna o define una variable en el programa, se asumirá que es global.
➢ x= “Sorprendente“ o ‘Sorprendente’
def myfunc():
print("Python es " + x)
myfunc()

Globales
Se puede crear una variable fuera y otra del mismo nombre dentro de la función. La que fue creada dentro de la función será
local y tomará dicho valor en la función. La variable global mantendrá el valor inicial. Terminada la ejecución de la función, la
variable local desaparecerá, y quedará la global con su valor original.
➢ x= ‘Sorprendente’ ➢ def myfunc():
def myfunc(): Global x
x = “genial” x=“genial” # Se declara con la palabra Global
print("Python es " + x) print("Python es " + x) # Global es palabra reservada

myfunc()
myfunc()
print("Python es " + x)
print("Python es " + x)
3.1 Introducción informal y Tipo de Datos
Comentarios
Python con el propósito de documentar sus códigos de línea, permite comentarlas mediante el carácter # al inicio de la línea:
➢ #Este es un comentario
print("Hola, mundo!")
➢ print("Hola, mundo!") #Este es un comentario

Se pueden documentar varios códigos de línea:


➢ #Este es un comentario
# escrito en mas
# de una línea
print("Hola, mundo!")
3.1 Introducción informal y Tipo de Datos
Data type

Text Type: str


Numeric Types: int, float, complex
Sequence Types: list, tuple, range

Mapping Type: dict


Set Types: set, frozenset
Boolean Type: bool
Binary Types: bytes, bytearray, memoryview
3.1 Introducción informal y Tipo de Datos
Data type
Asignación de variables
Example Data Type
x = "Hello World" str
x = 20 int
x = 20.5 float
x = 5-1j complex
x = ["apple", "banana", "cherry"] list
x = ("apple", "banana", "cherry") tuple
x = range(6) range
x = {"name" : "John", "age" : 36} dict
x = {"apple", "banana", "cherry"} set
x = frozenset({"apple", "banana", "cherry"}) frozenset

x = True bool
x = b"Hello" bytes
x = bytearray(5) bytearray
x = memoryview(bytes(5)) memoryview
3.1 Introducción informal y Tipo de Datos
Example Data Type
Data type
x = str("Hello World") str
Para asignar a una
variable un tipo de dato x = int(20) int
especifico, se deben x = float(20.5) float
utilizar las siguientes
x = complex(1j) complex
funciones:
x = list(("apple", "banana", "cherry")) list
x = tuple(("apple", "banana", "cherry")) tuple
x = range(6) range
x = dict(name="John", age=36) dict
x = set(("apple", "banana", "cherry")) set
x = frozenset(("apple", "banana", "cherry")) frozenset
x = bool(5) bool
x = bytes(5) bytes
x = bytearray(5) bytearray
x = memoryview(bytes(5)) memoryview
3.1 Introducción informal y Tipo de Datos
Cadenas (string)
Las cadenas en Python, deben estar encerradas entre comillas “ ” o apóstrofos ‘ ’
“hola” es lo mismo a ‘hola’

Longitud de las cadenas en Python: función len()


X=‘Nada es imposible’
len(x) #el resultado es 17

Se puede usar parte de una cadena, usando slicing [pos inicial: pos final:pasos] la posición final no se incluye
x=‘Hola todos’ 0 1 2 3 4 5 6 7 8 9

print(x[2:6]) #el resultado es: la t H O L A T O D O S


-10 -9 -8 -7 -6 -5 -4 -3 -2 -1

Los índices también pueden ser negativos slicing [pos inicial: pos final:pasos]
x=‘Hola todos’
print(x[-8: -2]) #el resultado es: la tod
print(x[-5:]) #el resultado es: todos
3.1 Introducción informal y Tipo de Datos
3.1 Introducción informal y Tipo de Datos
Cadenas (string)
Las cadenas se pueden concatenar es decir unir con otras cadenas para formar otras cadenas. No se puede
concatenar con números enteros o flotantes
x=“hola ”
y=“mundo”
print(x+y) #el resultado es: hola mundo
print(x+y+3) #el resultado es: error
print((x+y)*3) #el resultado es: hola mundohola mundohola mundo

Python puede comparar cadenas: == y != (igual o diferente). La comparación se hace carácter por carácter. Si estas son iguales o de lo contrario
serán diferentes
x=“hola ” x=“hola ”
y=“hola ” y=“Hola ”
x==y #el resultado es: True (verdadero) x==y #el resultado es: False (falso)

Python también compara cadenas: < o > (menor o mayor). La comparación se hace carácter por carácter. Pero considerando su código ASCII
(128 caracteres u 8 bits) pero ahora su nuevo estándar Unicode (65536 u 16 bits)
x=“hola ”
y=“Hola ”
x<y #el resultado es: False (falso)
ord('h’) #el resultado es: 104 La función ORD() devuelve la posición del carácter en la tabla UNICODE
ord(‘H’) #el resultado es: 72 La función chr() devuelve el carácter de la posición en la tabla UNICODE
3.1 Introducción informal y Tipo de Datos
Cadenas (string)
String Format.- También se requieren Combinar números con letras hacer tabulados
x=2021
y=“Hola mundo ”
x=2021
print(x+y) #el resultado es: error y=“Hola mundo {}”
print(y.format(x)) #el resultado es: Hola mundo 2021
Cantidad = 3
Articulo = 365
Precio = 49.95
miorden = “Yo deseo {} piezas del artículo {} por {} soles."
print(miorden.format(Cantidad, Articulo, Precio)) #el resultado es: Yo deseo 3 piezas del artículo 365 por 49.95 soles.

miorden = “Deseo pagar {2} soles, por {0} piezas del artículo {1}."
print(miorden.format(Cantidad, Articulo, Precio)) #el resultado es: Deseo pagar 49.95 soles, por 3 piezas del artículo 365.
3.1 Introducción informal y Tipo de Datos
Cadenas (string) Code Result
Scape characters.- algunos efectos para imprimir las cadenas.
Carácter \. \n nueva línea
\' Single Quote
miorden = “Deseo pagar {2} soles \n por {0} piezas \n del artículo {1}." \\ Backslash
print(miorden.format(Cantidad, Articulo, Precio))
#el resultado es: Deseo pagar 49.95 soles
\n New Line
por 3 piezas \r Carriage Return
del artículo 365.
\t Tab
\b Backspace
\f Form Feed
\ooo Octal value

\xhh Hex value


3.1 Introducción informal y Tipo de Datos
Cadenas (string)
Method Description
capitalize() Converts the first character to upper case
casefold() Converts string into lower case maketrans() Returns a translation table to be used in translations
center() Returns a centered string partition() Returns a tuple where the string is parted into three parts
count() Returns the number of times a specified value occurs in a string
replace() Returns a string where a specified value is replaced with a specified value
encode() Returns an encoded version of the string
endswith() Returns true if the string ends with the specified value rfind() Searches the string for a specified value and returns the last position of where it was
found
expandtabs() Sets the tab size of the string
find() Searches the string for a specified value and returns the position of where it was found rindex() Searches the string for a specified value and returns the last position of where it was
found
format() Formats specified values in a string
rjust() Returns a right justified version of the string
format_map() Formats specified values in a string
index() Searches the string for a specified value and returns the position of where it was found rpartition() Returns a tuple where the string is parted into three parts
rsplit() Splits the string at the specified separator, and returns a list
isalnum() Returns True if all characters in the string are alphanumeric rstrip() Returns a right trim version of the string
isalpha() Returns True if all characters in the string are in the alphabet split() Splits the string at the specified separator, and returns a list
isdecimal() Returns True if all characters in the string are decimals
splitlines() Splits the string at line breaks and returns a list
isdigit() Returns True if all characters in the string are digits
startswith() Returns true if the string starts with the specified value
isidentifier() Returns True if the string is an identifier
islower() Returns True if all characters in the string are lower case strip() Returns a trimmed version of the string
isnumeric() Returns True if all characters in the string are numeric swapcase() Swaps cases, lower case becomes upper case and vice versa
isprintable() Returns True if all characters in the string are printable title() Converts the first character of each word to upper case
isspace() Returns True if all characters in the string are whitespaces translate() Returns a translated string
istitle() Returns True if the string follows the rules of a title upper() Converts a string into upper case
isupper() Returns True if all characters in the string are upper case zfill() Fills the string with a specified number of 0 values at the beginning
join() Joins the elements of an iterable to the end of the string
ljust() Returns a left justified version of the string
lower() Converts a string into lower case
lstrip() Returns a left trim version of the string
3.1 Introducción informal y Tipo de Datos
Numbers (números)
Enteros – Int, or integer, es un numero entero, positivo o Complejos – Que se escriben como un j como parte
negativo, sin decimales, de longitud indefinida imaginaria
x=1 x = 3 + 5j
y = 35656222554887711 y = 8j
z = -3255522 z = 10 -3j
print( type(x) ) print( type(x) )
print( type(y) ) print( type(y) )
print( type(z) ) print( type(z) )

Flotantes – float, o número punto flotante, positivo o Tipo de conversiones


negativo, contiene uno o mas decimales x = 25 # int
x = 1.10 y = 24.85 # float
y = 1.0e10 z = -3j # complex
z = -325.5522
print( type(x) ) a = float (x) # convierte un entero en un flotante
print( type(y) ) b = int (y) # convierte un flotante a un entero
print( type(z) ) c = complex (x) # convierte un entero a un complejo
3.1 Introducción informal y Tipo de Datos
Booleans (lógicos)
Lógicos – verdadero o falso. Se puede tener la necesidad de saber si una expresión es
verdadera o falsa
print (10 > 9 )
print (10 == 9 )
print (10 < 9 )

Evaluación de variables y valores


x=“hola”
y=5
print ( bool(x) ) # la respuesta es true
print ( bool(y) ) # la respuesta es true

print ( bool(“”) ) # la respuesta es false


print ( bool(0) ) # la respuesta es false
3.1 Introducción informal y Tipo de Datos
Listas (list)
Es una colección ordenada y modificable. Permite miembros duplicados.
En Python las listas se escriben entre corchetes rectos.
Estalista = ["apple", "banana", "cherry"] [pos inicial: pos final] la posición final no se incluye
print(Estalista) # la respuesta es ['apple', 'banana', 'cherry’]
➢ Acceso a los elementos
Por ejemplo: imprimir el segundo elemento de la lista anterior
print(Estalista[1]) # la respuesta es banana

➢ Permite índice negativo.


0 1 2 3 4 5 6
print(Estalista[-1]) # la respuesta es cherry
apple banana cherry orange kiwi melon mango
-7 -6 -5 -4 -3 -2 -1
➢ Permite rangos de índices.
Estalista = ["apple", "banana", "cherry“, "orange", "kiwi", "melon", "mango“]
print( Estalista[:4] ) # la respuesta es ['apple', 'banana', 'cherry', 'orange’]
print( Estalista[-4:-1] ) # la respuesta es ['orange', 'kiwi', 'melon']
3.1 Introducción informal y Tipo de Datos
Listas (list)
➢ Cambios en elementos
Estalista = ["apple", "banana", "cherry“, "orange", "kiwi", "melon", "mango“]
Estalista[2]= ‘lemon’
print( Estalista ) # la respuesta es ['apple', 'banana', 'lemon', 'orange', 'kiwi', 'melon', 'mango’]

➢ Permite Loops o recorridos por los elementos ➢ Verifica la existencia de un elemento. Por ejemplo si
for x in Estalista: melon está en la lista
print (x) # la respuesta es apple if “melon" in Estalista:
banana print(“Si, ‘melon’ está en la lista de frutas")
lemon
# la respuesta es Si, ‘melon’ está en la lista de frutas
orange
kiwi
melon
mango
3.1 Introducción informal y Tipo de Datos
Listas (list)
➢ Determinar la longitud de la lista. Función len()
Estalista = ["apple", "banana", "cherry“, "orange", "kiwi", "melon", "mango“]
print( len(Estalista) ) # la respuesta es 7
➢ Agregar elementos. Estos se agregan al final de la lista con método append()
Estalista = ["apple", "banana", "cherry“, "orange", "kiwi", "melon", "mango“]
Estalista.append (“blueberry“)
print(Estalista) # la respuesta es ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'melon', 'mango', 'blueberry’]
➢ Insertar elementos. Estos se insertan en una posición específica de la lista con método insert()
Estalista = ["apple", "banana", "cherry“, "orange", "kiwi", "melon", "mango“]
Estalista.insert(2, “blueberry“)
print(Estalista) # la respuesta es ['apple', 'banana', 'blueberry', 'cherry', 'orange', 'kiwi', 'melon', 'mango’]
➢ Eliminar elementos. Se eliminan al final por defecto o en una posición específica de la lista con método pop()
Estalista = ["apple", "banana", "cherry“, "orange", "kiwi", "melon", "mango“]
Estalista.pop(): Estalista.pop(1)
print(Estalista) # la respuesta es ['apple', 'cherry', 'orange', 'kiwi', 'melon']
3.1 Introducción informal y Tipo de Datos
Listas (list)
➢ Borrar la lista con comando del. Este comando borra la lista de memoria
Estalista = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
del Estalista
print(Estalista) # la respuesta es NameError: name 'Estalista' is not defined
➢ Vaciar la lista con método clear()
Estalista = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
Estalista.clear()
print(Estalista) # la respuesta es []
➢ Copiar lista
No puede copiar una lista simplemente escribiendo list2 = list1, porque: list2 solo será una referencia a list1, y los cambios
realizados en list1 también se realizarán automáticamente en list2. Hay formas de hacer una copia, una es usar el método de
lista incorporado copy()
Estalista = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
Nuevalista = Estalista.copy()
print(Nuevalista) # la respuesta es ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'melon', 'mango']
3.1 Introducción informal y Tipo de Datos
Listas (list)
➢ Copiar lista
Otra forma de copiar es con el método interno list()
Estalista = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
Nuevalista = list(Estalista)
print(Nuevalista) # la respuesta es ['apple', 'banana', 'cherry', 'orange', 'kiwi', 'melon', 'mango’]
➢ Unir dos listas
Existen varias formas de unir listas, una de ellas es la de concatenar (+)
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3) # la respuesta es ['a', 'b', 'c', 1, 2, 3]
Otra es usando el método append()
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.append(list2)
print(list1) # la respuesta es ['a', 'b', 'c', [1, 2, 3]]
3.1 Introducción informal y Tipo de Datos
Listas (list)
➢ Métodos incorporados
Python tiene un conjunto de métodos integrados que puede usar en las listas

Method Description
append() Adds an element at the end of the list
clear() Removes all the elements from the list
copy() Returns a copy of the list
count() Returns the number of elements with the specified value
extend() Add the elements of a list (or any iterable), to the end of the current list
index() Returns the index of the first element with the specified value
insert() Adds an element at the specified position
pop() Removes the element at the specified position
remove() Removes the item with the specified value
reverse() Reverses the order of the list
sort() Sorts the list
3.2 Operadores y
expresiones
3.2 Operadores y expresiones
Python tiene los siguientes operadores
• Aritméticos
• De asignación
• De comparación
• Lógicos
• Identidad
• Miembros
• Bitwise (Binarios)
3.2 Operadores y expresiones
Operadores aritméticos
Operator Name Example

+ Addition x+y

- Subtraction x-y

* Multiplication x*y

/ Division x/y

% Modulus x%y

** Exponentiation x ** y

// Floor división (división entera) x // y


3.2 Operadores y expresiones
Operadores de asignación
Operator Example Same As
= x=5 x=5
+= x += 3 x=x+3
-= x -= 3 x=x-3
*= x *= 3 x=x*3
/= x /= 3 x=x/3
%= x %= 3 x=x%3
//= x //= 3 x = x // 3
**= x **= 3 x = x ** 3
&= x &= 3 x=x&3
|= x |= 3 x=x|3
^= x ^= 3 x=x^3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3
3.2 Operadores y expresiones
Operadores de comparación
Operator Name Example
== Equal x == y
!= Not equal x != y
> Greater than x>y

< Less than x<y


>= Greater than or equal to x >= y

<= Less than or equal to x <= y


3.2 Operadores y expresiones
Operadores lógicos
Operator Description Example
and Returns True if both statements are true x < 5 and x < 10

or Returns True if one of the statements is true x < 5 or x < 4

not Reverse the result, returns False if the result is true not(x < 5 and x < 10)

Operadores de identidad
Los operadores de identidad se usan para comparar los objetos, no si son iguales, sino si en realidad son el mismo objeto, con
la misma ubicación de memoria:

Operator Description Example


is Returns True if both variables are the same object x is y

is not Returns True if both variables are not the same object x is not y
3.2 Operadores y expresiones
Operadores de miembros
Los operadores de membresía se utilizan para probar si una secuencia se presenta en un objeto:
Operator Description Example
in Returns True if a sequence with the specified value is present in the object x in y
not in Returns True if a sequence with the specified value is not present in the object x not in y

Operadores Bitwise
Los operadores bit a bit se usan para comparar números (binarios):
Operator Name Description
& AND Sets each bit to 1 if both bits are 1
| OR Sets each bit to 1 if one of two bits is 1
^ XOR Sets each bit to 1 if only one of two bits is 1
~ NOT Inverts all the bits
<< Zero fill left shift Shift left by pushing zeros in from the right and let the leftmost bits fall off
>> Signed right shift Shift right by pushing copies of the leftmost bit in from the left, and let the rightmost bits fall off
3.3 Entradas y salidas
de datos
3.3 Entradas y salidas de datos
Entradas
Se usa la función input(). Esta función lee cadenas por lo que habrá que modificar luego el valor
ingresado al tipo de dato correspondiente
➢ Sintaxis de input()
Entero = int(input(“Ingrese un numero entero : “))
Decimal = float(input(“Ingrese un numero decimal : “))
➢ Variables como argumentos en input()
numero1 = int(input(“Ingrese un numero entero : “))
numero2 = int(input(“Ingrese un numero entero mayor a {numero1} : “))
3.3 Entradas y salidas de datos
Scripts o programa
Conjunto de sentencias de Python que se invoca desde la línea de comandos. También puede
Compilarse con Spyder.
➢ Creación de un script
El programa se puede crear desde un editor de textos de Windows con la extensión .py o desde SublimeText
(https://www.sublimetext.com/ y bajar la versión correspondiente).
Desde la línea de comando y la carpeta donde se encuentra el archivo.py

➢ Variables como argumentos en input()


Se pasan parametros o argumentos, y para ello debe importarse en el programa la libreria SYS mediante la instrucción
import sys
print(sys.argv) # se listan los argumentos remitidos
texto = sys.argv[1] # se asigna el valor del primer argumento a la variable texto

En el siguiente ejemplo, se pasan parametros, una cadena y las veces que se deben imprimir
import sys for x in range(repeticiones):
print(sys.argv) print(x)
if len(sys.argv ) == 3: En linea de comandos se invoca:
texto = sys.argv[1]; repeticiones = int(sys.argv[2]) python primer_script.py “esta es una prueba” 5
3.3 Entradas y salidas de datos
Salidas
Salida de información por diversos medios, usando el interprete sería por pantalla. Se usa la
sentencia print()
➢ Sintaxis de print()
v = “otro texto”
n = 10
print(“un texto”, v, “ y un número “, n) # Se separan en comas los argumentos a imprimir
➢ Método format() para mayor información https://www.python.org/dev/peps/pep-3101/
c = “Un texto {} y un número {}”.format(v, n)
print( c) # El resultado es ‘Un texto otro texto y un número 10’
print(“Un texto {0} y un número {1}”.format(numero=n, texto=v) # El 0 y 1 son los índices de los argumentos
print(“Un texto {t} y un número {n}”.format(n=n, t=v)
print( “{:>30}”.format(“palabra”) # Alineamiento a la derecha en 30 caracteres
print( “{:30}”.format(“palabra”) # Alineamiento a la izquierda en 30 caracteres
print( “{:.3}”.format(“palabra”) # truncamiento de 3 caracteres de la “palabra”
print( “{:>30.3}”.format(“palabra”) # truncamiento de 3 caracteres de la “palabra” alineado a la derecha
print( “{:4d}”.format(10) # Alineamiento de numero a la derecha con 4 dígitos con 0 izq
print( “{:7.3f}”.format(3.14151926) # Alineamiento con 3 decimales
print( “{:7.3f}”.format(153.21) # Alineamiento con 3 decimales
3.4 Controlando el flujo
3.4 Controlando el flujo
If … Else
Python admite las condiciones lógicas habituales de las matemáticas:
Equals: a == b
Not Equals: a != b
Less than: a < b
Less than or equal to: a <= b
Greater than: a > b
Greater than or equal to: a >= b

Estas condiciones se pueden usar de varias maneras, más comúnmente en “sentencias if" y bucles. Se escribe
una “sentencia if" utilizando la palabra clave if.
a = 33
b = 200
if b > a:
print("b es mayor que a") # la respuesta es b es mayor que a
3.4 Controlando el flujo
If … Else
Indentación
Python se basa en la sangría (espacio en blanco al comienzo de una línea) para definir el alcance en el código. Otros lenguajes
de programación a menudo usan llaves para este propósito.

a = 33
b = 200
if b > a:
print("b es mayor que a") # La respuesta es error

Elif
La palabra clave elif es la forma de pitones de decir "si las condiciones anteriores no eran ciertas, entonces intente esta
condición".
a = 33
b = 200
if b > a:
print("b es mayor que a")
Elif a == b:
print("b es igual que a")
3.4 Controlando el flujo
If … Else
Else
La palabra clave else captura cualquier cosa que no esté atrapada por las condiciones anteriores.
a = 33
b = 200
if b > a:
print("b es mayor que a")
elif a == b:
print("b es igual que a")
else:
print("a es mayor ques b")

If sentencia corta (en una línea)


Si solo tiene que ejecutar una instrucción, puede ponerla en la misma línea que la instrucción if.
a=42
b=200
if b > a: print("b es mayor que a")
3.4 Controlando el flujo
If … Else
If .. else sentencia corta (en una línea)
Si solo tiene que ejecutar una instrucción, una para if y otra para más, puede poner todo en la misma línea:
a=2
b=330
print("A") if a > b else print("B") # La respuesta es B
If .. elif … else sentencia corta (en una línea)
Esta técnica se conoce como operadores ternarios o expresiones condicionales.
a=330
b=330
print("A") if a > b else print("=") if a == b else print("B") # La respuesta es =

Condiciones lógicas: and y or


Esta técnica se conoce como operadores ternarios o expresiones condicionales.
a = 200
b = 33
c = 500
if a > b or a > c:
print("Al menos una de las condiciones es verdadera") # La respuesta es =
3.4 Controlando el flujo
If Anidados
Puede tener declaraciones if dentro de declaraciones if, esto se llama instrucciones if anidadas.
x = 41
if x > 10:
print("Mas de diez,")
if x > 20:
print("y también es mayor a 20!")
else:
print("pero no mas de 20") # La respuesta es Mas de diez,
y también es mayor a 20!

sentencia pass
Las sentencias if no pueden estar vacías, pero si por alguna razón tiene una sentencia if sin contenido, ingrese la sentencia
pass para evitar un error.
a = 33
b = 200
if b > a:
pass
3.4 Controlando el flujo
While … loops
Con el ciclo while podemos ejecutar un conjunto de declaraciones
siempre que una condición sea verdadera.
i=1
while i < 6:
print(i)
i += 1

Instruccion Break
Con la instrucción break podemos detener el ciclo incluso si la
condición while es verdadera.
i=1
while i < 6:
print(i)
if i == 3:
break
i += 1
3.4 Controlando el flujo
While … loops
Instruccion Continue
Con la instrucción continue podemos detener la iteración
actual y continuar con la siguiente:
i=0
while i < 6:
i += 1
if i == 3:
continue
print(i)

Instruccion Else
Con la instrucción else podemos ejecutar un bloque de código una vez cuando la condición ya no es verdadera:
i=1
while i < 6:
print(i)
i += 1
else:
print(“ya no es menos de 6”)
3.4 Controlando el flujo
For … loops
Un bucle for se usa para iterar sobre una secuencia (que es una lista, una tupla, un diccionario, un
conjunto o una cadena). Esto es menos como la palabra clave for en otros lenguajes de programación,
y funciona más como un método iterador como se encuentra en otros lenguajes de programación orientados a objetos. Con el
bucle for podemos ejecutar un conjunto de declaraciones, una vez para cada elemento de una lista, tupla, conjunto, etc.

frutas = ["apple", "banana", "cherry"]


for x in frutas:
print(x)

El bucle for no requiere una variable de indexación para establecer de antemano

Bucle a traves de una cadena (string)


Incluso las cadenas son objetos iterables, contienen una secuencia de caracteres:
for x in "banana":
print(x)
3.4 Controlando el flujo
For … loops
Sentencia Break
Con la instrucción break podemos detener el ciclo antes de que haya pasado por todos los elementos:
fruits = ["apple", "banana", "cherry"]
for x in fruits:
print(x)
if x == "banana":
break

Instruccion Continue
Con la instrucción continue podemos detener la iteración actual del ciclo y continuar con la siguiente:

fruits = ["apple", "banana", "cherry"]


for x in fruits:
if x == "banana":
continue
print(x)
3.4 Controlando el flujo
For … loops
La función Range()
Para recorrer un conjunto de código un número específico de veces, podemos usar la función range (), La función range ()
devuelve una secuencia de números, comenzando desde 0 por defecto, y se incrementa en 1 (por defecto), y termina en un
número específico.

for x in range(6):
print(x)

Tenga en cuenta que el rango (6) no son los valores de 0 a 6, sino los valores de 0 a 5.
La función range () se establece por defecto en 0 como valor inicial, sin embargo, es posible especificar el valor inicial agregando
un parámetro: range (2, 6), que significa valores de 2 a 6 (pero sin incluir 6):

for x in range(2, 6):


print(x)
3.4 Controlando el flujo
For … loops
Palabra clave Else
La palabra clave else en un bucle for especifica un bloque de código que se ejecutará cuando finalice el bucle:

for x in range(6):
print(x)
else:
print("Finally finished!")

Bucles anidados (Nested Loops)


Un bucle anidado es un bucle dentro de un bucle. El "bucle interno" se ejecutará una vez por cada iteración del "bucle externo":

adj = ["red", "big", "tasty"]


fruits = ["apple", "banana", "cherry"]

for x in adj:
for y in fruits:
print(x, y) # la respuesta es red apple
red banana …..
3.4 Controlando el flujo
For … loops
Modificar Listas
Se puede modificar listas con las siguientes instrucciones. Por ejemplo se tiene una lista de números y se quiere esta lista
multiplicada por 10
indice = 0
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for numero in numeros:
numeros[indice] *= 10
indice+=1
numeros # la respuesta es [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

Modificar Listas
Se puede modificar listas con las siguientes instrucciones. Por ejemplo se tiene una lista de números y se quiere esta lista
multiplicada por 10 y ahora se hará con la función enumerate()

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


for indice, numero in enumerate(numeros):
numeros[indice] *= 10
numeros # la respuesta es [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
3.5 Matrices
3.5 Matrices
Matrices con Listas de Python
Las Matrices son disposiciones bidimensionales de valores en filas y columnas. Las LISTAS permiten
serie de datos en una solo dimensión (se pueden emplear para vectores). Entonces una lista de vectores
de números puede representar una matriz.
columnas del 0 al 2
Matriz filas -3 0 -2 1 -1 2
3x3 del 0 -3 0 12 1 15
al 2 -2 1 9 3 10
El elemento señalado de la matriz, -1 2 14 7 6
se denota Mij o M23 y en Python las filas Solo valores de la
y columnas inician en cero por lo que seria matriz

M12 = 10
3.5 Matrices
Matrices con Listas de Python
Ahora veremos las operaciones con matrices en Python, se tiene la siguientes matriz 4 x 3 y en
En Listas de Python se definiría como la figura del costado derecho

➢ Creación de matriz como listas.


M = [ [1, 2, 3], [2, 12, 6], [1, 0, -3], [0, -1, 0] ]
print(M) La respuesta es [[1, 2, 3], [2, 12, 6], [1, 0, -3], [0, -1, 0]]
print(M[0]) La respuesta es [1, 2, 3] es una lista o vector
print(M[1][1]) La respuesta es 12 es un escalar
3.5 Matrices
Matrices con Listas de Python
➢ Recorridos de matrices
M=[[1, 0, 0], [0, 1, 0], [0, 0, 1]]
print(M[-1][0]) # La respuesta es 0
print(M[-1][-1]) # La respuesta es 1
print(‘-’*30)
for i in range (0, 3): # Con range el que varía es el índice i
print(M[i]) # La respuesta es cada vector
print(‘-’*30)
for i in range(0, 3):
for j in range(0, 3):
print(M[i][j]) # La respuesta es cada vector
➢ Se aplican operaciones de Listas, por ejemplo, para crear una matriz
M=[]
for i in range (3): # Con range el que varía es el índice i
a=[0]*6 # La respuesta es [0, 0, 0, 0, 0, 0]
M.append( a)
print(M) # La respuesta es [ [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0] ]
3.5 Matrices
Matrices con Listas de Python
➢ Creación
M=[[1, 0, 0], [0, 1, 0], [0, 0, 1]]
print(M[-1][0]) # La respuesta es 0
print(M[-1][-1]) # La respuesta es 1
print('-’)
for i in range (0, 3): # Con range el que varía es el índice i
➢ Longitud
M=[[1, 0, 0], [0, 1, 0], [0, 0, 1]]
print(len(M)) # La respuesta es 3 porque es el número de filas
print(len(M[0])) # La respuesta es 3 porque es el número de columnas
➢ Creación y carga de una matriz nxm
n = int(input("Ingrese el número de filas: "))
m = int(input("Ingrese el número de columnas: "))
A= []
for i in range(n):
A.append( [0] * m )
print(len(A[0]))

for i in range (n):


for j in range(m):
A[i][j] = float(input("Componente ({0},{1}): ".format(i, j)))
print(A)

También podría gustarte