Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso : Computación 2
PRÁCTICA 03
PYTHON - LISTAS, DICCIONARIOS Y FUNCIONES
1.- Objetivos:
1. Construir listas y acceder a los elementos de esas listas.
b. Realizar travesías de las listas para procesar los elementos de las listas.
b. Determinar si una lista o un diccionario es una estructura de datos apropiada para una aplicación determinada.
1. Definir buenas practicas para crear funciones en Python con parámetros y valores de retorno.
2. Uso de enntornos de desarrollo "Jupyter Python" y "Spyder".
3. Practica Colaborativa con sincronización con GitLab.
Cita:
Nota: NO OLVIDAR INICIAR EL TRABAJO COLABORATIVO: en directorio: Practica_3 (con carpetas de Apellidos)
Primero:
JEFE DE PROYECTO: Inicia la practica Sincronizando repositorio local con proyecto GitLab.
Segundo:
COLABORADORES: Los colaboradores Clonan el proyecto de GitLab creado por el Jefe de Proyecto a
su repositorio local.
DESARROLLO
2.- Listas
Python sigue una notación especial para representar las listas. Los valores de una lista deben estar encerrados entre corchetes y
separados por comas. Cada uno de los elementos de una lista está ordenado por su posición. Cada elemento de una lista tiene un
índice único que especifica su posición. El índice del primer elemento es 0, y el índice del último elemento es la longitud de la lista
menos 1.
Abrimos nuevo archivo Practica_03_listas.ipynb (dentro de nuestra carpeta con nuestro Apellido).
Digitamos lo siguiente.
In [1]: [1972,1988,1999,2000,2001,2008,2020]
Out[1]: [1972, 1988, 1999, 2000, 2001, 2008, 2020]
In [2]: ["gato", "perro", "caballo" ]
Out[2]: ['gato', 'perro', 'caballo']
In [3]: tiempo = [1972,1988,1999,2000,2001,2008,2020]
tiempo
Out[3]: [1972, 1988, 1999, 2000, 2001, 2008, 2020]
In [4]: num = list(range(1,10))
num
Out[4]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [5]: amigos = ["Milagros", "Henry", "Pablo", "Oscar"]
amigos
Out[5]: ['Milagros', 'Henry', 'Pablo', 'Oscar']
Indexación de listas
In [6]: amigos[0]
Out[6]: 'Milagros'
In [7]: amigos[1]
Out[7]: 'Henry'
In [8]: amigos[1]
Out[8]: 'Oscar'
Longitud de listas
In [9]: len(amigos)
Out[9]: 4
In [10]: len(tiempo)
Out[10]: 7
In [11]: len(num)
Out[11]: 9
Concatenación de listas
In [12]: num + amigos
Out[12]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 'Milagros', 'Henry', 'Pablo', 'Oscar']
In [13]: num * 2
Out[13]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9]
In [14]: amigos * 2
Out[14]: ['Milagros', 'Henry', 'Pablo', 'Oscar', 'Milagros', 'Henry', 'Pablo', 'Oscar']
Recorte de Listas
In [15]: tiempo [2:5]
Out[15]: [1999, 2000, 2001]
In [16]: for i in [amigos]:
print(i)
['Milagros', 'Henry', 'Pablo', 'Oscar']
In [17]: varios = list(range(100,115))
print(varios)
[100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114]
In [18]: amigos.append("Mauricio")
amigos
Out[18]: ['Milagros', 'Henry', 'Pablo', 'Oscar', 'Mauricio']
In [19]: amigos[1] = "Carlos"
amigos
Out[19]: ['Milagros', 'Henry', 'Pablo', 'Oscar', 'Carlos']
In [20]: #creo lista nueva
seis = [6,6,6,6,6,6]
print(seis)
#recorro lista multiplicando x 2
for i in range(0, len(seis)):
seis[i]*=2
print(seis)
[6, 6, 6, 6, 6, 6]
[12, 12, 12, 12, 12, 12]
In [21]: #Agrego elementos a la lista
seis = seis + [13,14,15]
print(seis)
##Borrar un elemento de la lista
del seis[1]
print(seis)
del seis[6]
print(seis)
del seis[1]
seis
[12, 12, 12, 12, 12, 12, 13, 14, 15]
[12, 12, 12, 12, 12, 12, 13, 14]
[12, 12, 12, 12, 12, 12, 14]
Out[21]: [12, 12, 12, 12, 12, 12]
list. append(x) − − list. extend(L) − − list. insert(i, x) − − list. remove(x) − − list. pop([i]) − − list. clear() − − list. index(x) − − list. count(x)
In [22]: #Agrega un ítem al final de la lista
seis.append(6)
seis
Out[22]: [12, 12, 12, 12, 12, 12, 6]
In [23]: #Extiende la lista agregándole todos los ítems de la lista dada
seis.extend([5,5,3,3,1,1])
seis
Out[23]: [12, 12, 12, 12, 12, 12, 6, 5, 5, 3, 3, 1, 1]
In [24]: #Inserta un ítem en una posición dada.
seis.insert(1,0)
seis
Out[24]: [12, 0, 12, 12, 12, 12, 12, 6, 5, 5, 3, 3, 1, 1]
In [25]: #Quita el primer ítem de la lista cuyo valor sea x es igual a __del lista[i]__
seis.remove(12)
seis
Out[25]: [0, 12, 12, 12, 12, 12, 6, 5, 5, 3, 3, 1, 1]
In [26]: #Quita el ítem en la posición dada de la lista, y lo devuelve.
seis.pop(9)
Out[26]: 3
In [27]: seis
Out[27]: [0, 12, 12, 12, 12, 12, 6, 5, 5, 3, 1, 1]
In [28]: cinco = seis + [5,5,5]
cinco
Out[28]: [0, 12, 12, 12, 12, 12, 6, 5, 5, 3, 1, 1, 5, 5, 5]
In [29]: #Quita todos los elementos de la lista.
cinco.clear()
cinco
Out[29]: []
In [30]: seis
Out[30]: [0, 12, 12, 12, 12, 12, 6, 5, 5, 3, 1, 1]
In [31]: #Devuelve el índice en la lista del primer ítem cuyo valor sea x.
seis.index(3)
Out[31]: 9
In [32]: #Devuelve el número de veces que x aparece en la lista.
seis.count(12)
Out[32]: 5
EJEMPLOS:
In [33]: # Método tradicional
palabra = input("Ingrese palabra : ")
lista = []
for letra in palabra:
lista.append(letra)
print(lista)
Ingrese palabra : misti
['m', 'i', 's', 't', 'i']
In [34]: # Método con comprensión de listas
palabra = input("Ingrese palabra : ")
lista = [letra for letra in palabra]
print(lista)
Ingrese palabra : chachani
['c', 'h', 'a', 'c', 'h', 'a', 'n', 'i']
Ejemplo 2: Crear una lista con las potencias de 2 de los primeros 10 números:
In [35]: # Método tradicional
lista = []
for numero in range(0,11):
lista.append(numero**2)
print(lista)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
In [36]: # Método con comprensión de listas
lista = [numero**2 for numero in range(0,11)]
print(lista)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
In [37]: # Con comprensión de listas
# usando funciones "math"
import math
lista = [int(math.pow(numero,2)) for numero in range(0,11)]
print(lista)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
In [38]: #Lista sin creación de variables: Creando lista con comando map y la funcion lambda. ﴾averiguar como fu
ncionan﴿
cuadra2 = list(map(lambda x: x**2, range(11)))
cuadra2
Out[38]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Nota: una Tupla se crea con parentesis " () " y se diferencia con una lista porque sus valores no varian
In [39]: # Método tradicional
pares = []
for x in [1,2,3]:
for y in [3,1,4]:
if x != y:
pares.append((x,y))
print(pares)
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
In [40]: # Con comprensión de listas
[(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
Out[40]: [(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
Ejemplo 4: Crear una lista de pares o Tuplas asi (número, cuadrado de número):
In [41]: # Método comprensión de listas
[(x, x ** 2) for x in range(6)]
Out[41]: [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]
In [42]: # Método tradicional
lista = []
for a in range(5):
elemento = int(input("Dame un Elemento de una lista: "))
lista.append(elemento)
print(lista)
Dame un Elemento de una lista: 50
Dame un Elemento de una lista: 40
Dame un Elemento de una lista: 30
Dame un Elemento de una lista: 20
Dame un Elemento de una lista: 10
[50, 40, 30, 20, 10]
In [43]: # Método reducido
listados = [0] * 5
for a in range(5):
listados[a] = int(input("Dame un Elemento de una lista: "))
print(listados)
Dame un Elemento de una lista: 100
Dame un Elemento de una lista: 90
Dame un Elemento de una lista: 80
Dame un Elemento de una lista: 70
Dame un Elemento de una lista: 60
[100, 90, 80, 70, 60]
In [44]: lista =[15,20,5,1,10]
for i in range(1, len(lista)):
print("Pasada",i)
for j in range(0, len(lista)i):
print(" Comparación de lista[{0}] y lista[{1}]".format(j,j+1))
if lista[j] > lista[j+1]:
elemento = lista[j]
lista[j] = lista[j+1]
lista[j+1] = elemento
print(" Se intercambián")
print(" Estado Actual de la lista", lista)
print(lista)
Pasada 1
Comparación de lista[0] y lista[1]
Estado Actual de la lista [15, 20, 5, 1, 10]
Comparación de lista[1] y lista[2]
Se intercambián
Estado Actual de la lista [15, 5, 20, 1, 10]
Comparación de lista[2] y lista[3]
Se intercambián
Estado Actual de la lista [15, 5, 1, 20, 10]
Comparación de lista[3] y lista[4]
Se intercambián
Estado Actual de la lista [15, 5, 1, 10, 20]
Pasada 2
Comparación de lista[0] y lista[1]
Se intercambián
Estado Actual de la lista [5, 15, 1, 10, 20]
Comparación de lista[1] y lista[2]
Se intercambián
Estado Actual de la lista [5, 1, 15, 10, 20]
Comparación de lista[2] y lista[3]
Se intercambián
Estado Actual de la lista [5, 1, 10, 15, 20]
Pasada 3
Comparación de lista[0] y lista[1]
Se intercambián
Estado Actual de la lista [1, 5, 10, 15, 20]
Comparación de lista[1] y lista[2]
Estado Actual de la lista [1, 5, 10, 15, 20]
Pasada 4
Comparación de lista[0] y lista[1]
Estado Actual de la lista [1, 5, 10, 15, 20]
[1, 5, 10, 15, 20]
EJERCICIOS:
Ejercicio 1: Tenemos la lista data=[5, 3, 7] Ingrese las siguientes expresiones en bloques separados:
a. data[2]
b. data[1]
c. len(data)
d. data[0:2]
e. 0 in data
f. data + [2, 10, 5]
g. tuple(data)
Ejercicio 2: Tenemos la lista data=[145, 69, 106, 210, 35, 5]. Escriba las expresiones que realizan las siguientes tareas:
a. Reemplazar el valor en la posición 0 en **data** con la negación de ese valor.
b. Adicionar el valor 10 al final de **data**.
c. Insertar el valor 22 en la posición 2 en **data**.
d. Eliminar el valor de la posición 1 en **data**.
e. Añada los valores en la lista nueva **newData** las posiciones invertidas de **data**.
f. Localizar el índice del valor 106 en **data**, de forma automática.
g. Ordenar los valores en **data**.
Abrimos nuevo archivo con el nombre: Practica_02_listas.py (dentro de nuestra carpeta con nuestro Apellido).
Digitamos todas las lineas anteriores y luego ejecutamos para verificar que esta correcto, al final guardamos.
3.- Funciones.
Función: Una función es un conjunto de líneas de código que realizan una tarea específica; puede retornar un valor.
Ventajas:
Reutilización de Código
Trabajo por módulos (Divide y Venceras)
Algunas funciones están predefinidas (abs, round, etc.) mientras que otras deben importarse de módulos antes de poder ser usadas (por
ejemplo, sin y cos se importan del módulo math).
Ahora aprenderemos a definir nuestras propias funciones. Definiendo nuevas funciones estaremos «enseñando» a Python a hacer cálculos
que inicialmente no sabe hacer y, en cierto modo, adaptando el lenguaje de programación al tipo de problemas que deseamos resolver,
enriqueciéndolo para que el programador pueda ejecutar acciones complejas de un modo sencillo: llamando a funciones desde su
programa.
Tambien usaremos módulos, es decir, archivos que contienen funciones y variables de valor predefinido que se puede importar en los
programas.
Aprenderemos a crear nuestros propios módulos, de manera de reutilizar nuestras funciones en varios programas resultará
extremadamente sencillo: bastará con importarlas.
Las funciones nos permite organizar nuestro código en las siguientes líneas de código de manera más eficaz.
Sintaxis
def <nombre de la funcion>(<parametro1>, ..., <parametron>):
<linea(s) de comandos>
Abrimos nuevo archivo Practica_03_funciones.ipynb (dentro de nuestra carpeta con nuestro Apellido).
Digitamos lo siguiente.
Ejemplos
Ejemplo 1: Crear una función de ejemplo que calcula el valor promedio en una lista de números.
In [45]: def promedio(lista):
"""Devuelve el promedio de los números en la lista."""
theSum = 0
for number in lista:
theSum += number
return theSum / len(lista)
promedio([1, 3, 5, 7])
Out[45]: 4.0
Ejemplo 2: Crear una función que devuelve "True" si el número enviado es impar, o "False" en caso es par.
In [46]: def odd(x):
"""Devuelve True si x es impar o False en caso contrario."""
if x % 2 == 1:
return True
else:
return False
odd(5)
Out[46]: True
Ejemplo 3: Crear un programa que me calcule el exponente 2 y 3 de un número ingresado por teclado
In [47]: """
Definición de una función principal.
"""
def main():
"""La función principal para este script."""
num = float(input("Ingrese el Número: "))
resultado = cuadrado(num)
resultado3 = cubo(num)
print("El número: ", num, " con exponente 2 es: ", resultado)
print("El número: ", num, " con exponente 3 es: ", resultado3)
def cuadrado(x):
"""Devuelve el cuadrado de x."""
return x * x
def cubo(x):
"""Devuelve x elevado a 3."""
return x * x * x
# Ejecución del programa
if __name__ == "__main__":
main()
Ingrese el Número: 5
El número: 5.0 con exponente 2 es: 25.0
El número: 5.0 con exponente 3 es: 125.0
Ejemplo 4: Crear un programa que me calcule el cambio en dólares y euros de un valor en soles ingresado por teclado
In [49]: #Menú de tipo de cambio
#Permite cambiar soles a dólares y euros
print("Programa cambio de soles a dólares y euros")
def main ():
print()
print("1. Dolares")
print("2. Euros")
print("¿Cuantos soles tienes?: ")
global soles
soles = input()
soles = float(soles)
print()
print("Ingrese el tipo de cambio que desea realizar: ")
op = input()
op = int(op)
#Evaluación
if (op==1):
#Llamando a funcion dolares
dolares()
elif (op==2):
#Llamando funcion euros
euros()
else:
print ("El tipo de cambio no existe")
print("Desea hacer otro tipo de cambio Si/No?: ")
global resp
resp = input()
resp = resp.lower()
repetir()
#Funcion dolares
def dolares():
valorD = float(input("Ingrese precio del dólar el día de hoy: "))
dolares = soles/valorD
print("Tienes ", dolares, " Dólares")
#Funcion euros
def euros():
valorE = float(input("Ingrese precio del euro el día de hoy: "))
euros = soles/valorE
print("Tienes ", euros, " Euros")
#Funcion repetir
def repetir():
while(resp != "no"):
main()
#Llamando a la función main
if __name__ == "__main__":
main()
Programa cambio de soles a dólares y euros
1. Dolares
2. Euros
¿Cuantos soles tienes?:
1000
Ingrese el tipo de cambio que desea realizar:
1
Ingrese precio del dólar el día de hoy: 3.5
Tienes 285.7142857142857 Dólares
Desea hacer otro tipo de cambio Si/No?:
SI
1. Dolares
2. Euros
¿Cuantos soles tienes?:
1000
Ingrese el tipo de cambio que desea realizar:
2
Ingrese precio del euro el día de hoy: 4
Tienes 250.0 Euros
Desea hacer otro tipo de cambio Si/No?:
no
Excepciones en Python
Ejemplo 5:
Excepciones: Averiguar como mejorar el ejemplo 4 para que no termine inesperadamente por mal ingreso del teclado, utilizando
Excepciones en Python.
Abrimos nuevo archivo con el nombre: Practica_03_funciones.py (dentro de nuestra carpeta con nuestro Apellido).
Digitamos todas las lineas anteriores y luego ejecutamos para verificar que esta correcto, al final guardamos.
4- Diccionario.
Loading [MathJax]/jax/output/HTML-CSS/jax.js
Un Diccionario es una estructura de datos y un tipo de dato en Python con características especiales que nos permite almacenar
cualquier tipo de valor como enteros, cadenas, listas e incluso otras funciones. Estos diccionarios nos permiten además identificar
cada elemento por una clave (Key).
Abrimos nuevo archivo Practica_03_diccionario.ipynb (dentro de nuestra carpeta con nuestro Apellido).
Digitamos lo siguiente.
Para definir un diccionario, se encierra el listado de valores entre llaves. Las parejas de clave y valor se separan con
comas, y la clave y el valor se separan con dos puntos.
Definición e Impresión
In [50]: diccionario = {'nombre' : 'Henry', 'edad' : 30, 'cursos': ['Python','C++','JavaScript'] }
diccionario
Out[50]: {'nombre': 'Henry', 'edad': 30, 'cursos': ['Python', 'C++', 'JavaScript']}
In [51]: print (diccionario['nombre'])
print (diccionario['edad'])
print (diccionario['cursos'])
Henry
30
['Python', 'C++', 'JavaScript']
Indexación de diccionario
In [52]: print (diccionario['cursos'][0])
print (diccionario['cursos'][1])
print (diccionario['cursos'][2])
Python
C++
JavaScript
Recorrer diccionario
In [53]: for key in diccionario:
print (key, ":", diccionario[key])
nombre : Henry
edad : 30
cursos : ['Python', 'C++', 'JavaScript']
In [55]: len(notas)
Out[55]: 4
items( ) : Devuelve una lista de tuplas, cada tupla se compone de dos elementos: el primero será la clave y el segundo, su
valor.
In [56]: item = notas.items()
item
Out[56]: dict_items([('nombre', 'Pablo'), ('nota1', 12), ('nota2', 18), ('nota3', 15)])
keys( ): Retorna una lista de elementos, los cuales serán las claves de nuestro diccionario.
In [57]: key = notas.keys()
key
Out[57]: dict_keys(['nombre', 'nota1', 'nota2', 'nota3'])
values( ) : Retorna una lista de elementos, que serán los valores de nuestro diccionario.
In [58]: valor = notas.values()
valor
Out[58]: dict_values(['Pablo', 12, 18, 15])
In [59]: copia = notas.copy()
copia
Out[59]: {'nombre': 'Pablo', 'nota1': 12, 'nota2': 18, 'nota3': 15}
In [60]: vacio = copia.clear()
print(vacio)
None
Ejemplos
Ejemplo 1: Escribir un programa que almacene el diccionario con los créditos de las asignaturas de un curso {'Matemáticas': 6,
'Física': 4, 'Química': 5} y después muestre por pantalla los créditos de cada asignatura en el formato <asignatura>
tiene <créditos> créditos , donde <asignatura> es cada una de las asignaturas del curso, y <créditos> son sus créditos.
Al final debe mostrar también el número total de créditos del curso.
In [61]: curso = {'Matemáticas': 6, 'Física': 4, 'Química': 5}
total_creditos = 0
for nombre, credito in curso.items():
print(nombre, 'tiene', credito, 'créditos')
total_creditos += credito
print('Número total de créditos del curso: ', total_creditos)
Matemáticas tiene 6 créditos
Física tiene 4 créditos
Química tiene 5 créditos
Número total de créditos del curso: 15
Ejemplo2 :Escribir un programa que cree un diccionario simulando una cesta de la compra. El programa debe preguntar el artículo y su
precio y añadir el par al diccionario, hasta que el usuario decida terminar. Después se debe mostrar por pantalla la lista de la compra y el
coste total, con el siguiente formato
Lista de la compra
Artículo 1 Precio
Artículo 2 Precio
Artículo 3 Precio
... ...
Total Coste
In [62]: cont = {}
p = 'si'
while p == 'si':
item = input('Introduce un artículo: ')
precio = float(input('Introduce el precio de ' + item + ': '))
cont[item] = precio
p = input('¿Quieres añadir artículos a la lista (si/no)? ')
costo = 0
print('Lista de la compra')
for item, precio in cont.items():
print(item, '\t', precio)
costo += precio
print('Coste total: ', costo)
Introduce un artículo: papas
Introduce el precio de papas: 1.5
¿Quieres añadir artículos a la lista (si/no)? si
Introduce un artículo: camote
Introduce el precio de camote: 3
¿Quieres añadir artículos a la lista (si/no)? si
Introduce un artículo: maiz
Introduce el precio de maiz: 5
¿Quieres añadir artículos a la lista (si/no)? si
Introduce un artículo: tomate
Introduce el precio de tomate: 2
¿Quieres añadir artículos a la lista (si/no)? no
Lista de la compra
papas 1.5
camote 3.0
maiz 5.0
tomate 2.0
Coste total: 11.5
Ejercicios
Ejercicio 1: Escribir un programa que cree un diccionario vacío y lo vaya llenado con información sobre una persona (por ejemplo nombre,
edad, sexo, teléfono, correo electrónico, etc.) que se le pida al usuario. Cada vez que se añada un nuevo dato debe imprimirse el
contenido del diccionario.
Resultado:
¿Qué dato quieres introducir? Nombre
Nombre: Alfredo Sánchez
{'Nombre': 'Alfredo Sánchez'}
¿Quieres añadir más información (Si/No)? Si
¿Qué dato quieres introducir? Dirección
Dirección: Madrid
{'Nombre': 'Alfredo Sánchez', 'Dirección': 'Madrid'}
¿Quieres añadir más información (Si/No)? Si
¿Qué dato quieres introducir? email
email: asalber@ceu.es
{'Nombre': 'Alfredo Sánchez', 'Dirección': 'Madrid', 'email': 'asalber@ceu.es'}
¿Quieres añadir más información (Si/No)? No
Abrimos nuevo archivo con el nombre: Practica_03_diccionario.py (dentro de nuestra carpeta con nuestro Apellido).
Digitamos todas las lineas anteriores y luego ejecutamos para verificar que esta correcto, al final guardamos.
5.- Adicional.
5.1.- Matrices.
Las Matrices son disposiciones bidimensionales de valores. En notación matemática, una matriz se denota encerrando entre
paréntesis los valores, que se disponen en filas y columnas. He aquí una matriz M:
( )
1 2 3
2 12 6
M =
1 0 −3
0 −1 0
Esta matriz tiene 4 filas y 3 columnas, lo cual abreviamos diciendo que es una matriz de dimensión 4 × 3.
Las listas permiten representar series de datos en una sola dimensión. Para Representar una Matriz debemos crear una lista de lista de
números de la siguiente manera:
Abrimos nuevo archivo Practica_03_matrices.ipynb (dentro de nuestra carpeta con nuestro Apellido).
Digitamos lo siguiente.
Ejemplos
In [63]: M = [[1,2,3],[2,12,6],[1,0,3],[0,1,0]]
print(M)
[[1, 2, 3], [2, 12, 6], [1, 0, 3], [0, 1, 0]]
In [64]: #Creación de una Matriz
#Solicitamos dimensión de Matriz
m = int(input("Ingrese el Número de Filas de la Matriz: "))
n = int(input("Ingrese el Número de Columnas de la Matriz: "))
#Creamos Matriz nula
M = []
for i in range(m):
M.append( [0] * n )
#Llenamos la Matriz por teclado
for i in range(m):
for j in range(n):
M[i][j] = int(input("Ingrese el componente ({0},{1}): ".format(i,j)))
print(M)
Ingrese el Número de Filas de la Matriz: 3
Ingrese el Número de Columnas de la Matriz: 4
Ingrese el componente (0,0): 40
Ingrese el componente (0,1): 50
Ingrese el componente (0,2): 60
Ingrese el componente (0,3): 70
Ingrese el componente (1,0): 10
Ingrese el componente (1,1): 20
Ingrese el componente (1,2): 30
Ingrese el componente (1,3): 80
Ingrese el componente (2,0): 90
Ingrese el componente (2,1): 70
Ingrese el componente (2,2): 30
Ingrese el componente (2,3): 20
[[40, 50, 60, 70], [10, 20, 30, 80], [90, 70, 30, 20]]
In [65]: #Dimensión de la Matrix
len(M)
Out[65]: 3
In [66]: len(M[0])
Out[66]: 4
In [67]: matrizdos = [
... [1, 2, 3, 4],
... [5, 6, 7, 8],
... [9, 10, 11, 12],
... ]
In [68]: matrizdos
Out[68]: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
In [69]: #Matriz transpuesta con función zip﴾﴿
list(zip(*matrizdos))
Out[69]: [(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]
Abrimos nuevo archivo con el nombre: Practica_03_matrices.py (dentro de nuestra carpeta con nuestro Apellido).
Digitamos todas las lineas anteriores y luego ejecutamos para verificar que esta correcto, al final guardamos.
5.2.- Tuplas:
Una Tupla consiste de un número de valores separados por comas, las tuplas son inmutables y normalmente contienen una
secuencia heterogénea de elementos que son accedidos al desempaquetar o indizar. Las listas son mutables, y sus elementos
son normalmente homogéneos y se acceden iterando a la lista.
Abrimos nuevo archivo Practica_03_tuplas.ipynb (dentro de nuestra carpeta con nuestro Apellido).
Digitamos lo siguiente.
Ejemplos
In [70]: t = 12345, 54321, 'hola!'
t[0]
Out[70]: 12345
In [71]: print(t)
(12345, 54321, 'hola!')
In [72]: # Las tuplas pueden anidarse:
... u = t, (1, 2, 3, 4, 5)
>>> u
Out[72]: ((12345, 54321, 'hola!'), (1, 2, 3, 4, 5))
In [73]: # Las tuplas son inmutables:
... t[0] = 88888
TypeError Traceback (most recent call last)
<ipythoninput735394e925360d> in <module>
1 # Las tuplas son inmutables:
> 2 t[0] = 88888
TypeError: 'tuple' object does not support item assignment
Abrimos nuevo archivo con el nombre: Practica_03_tuplas.py (dentro de nuestra carpeta con nuestro Apellido).
Digitamos todas las lineas anteriores (menos el ultimo que es para ver propiedad de tupla no varia) y luego ejecutamos para verificar
que esta correcto, al final guardamos.
6.- Sincronizar cuanta veces sea necesario los cambios con git:
(Programacion2) renzo@misti:~$ git add A
(Programacion2) renzo@misti:~$ git commit m "Finalizando Practica 02"
Actualizamos nuestros repositorio local con los cambios del respositorio de GitLab:
(Programacion2) renzo@misti:~$ git pull origin master
(Programacion2) renzo@misti:~$ git push origin master
Para tener evidencia del trabajo realizado envía un solo integrante al Aula Virtual, la carpeta con todo el proyecto en zip.
Finaliza la Práctica
Bibliografía
[1] A. M. Varó, P. G. Sevilla, and I. G. Luengo, Introducción a la Programación con Python 3. Universitat Jaume I. Servei de Comunicació i
Publicacions, 2014.
[2] G. D. Raul, “Python para todos,” Creative Commons Reconocimiento, vol. 2, 2010.
[3] G. Van Rossum and F. L. Drake Jr, “Tutorial python,” Disponible gratuitamente en https://tutorial.python.org.ar/en/latest/, 2004.
[4] P. Gries, J. Campbell, and J. Montojo, Practical programming: an introduction to computer science using Python 3. Pragmatic
Bookshelf, 2013.
Loading [MathJax]/jax/output/HTML-CSS/jax.js