Contenido del curso
Introducción a Python
Programas numéricos
Funciones, alcance y abstracción
Tipos estructurados, mutabilidad y funciones de alto nivel
Pruebas y debugging
Excepciones y afirmaciones
Bucles for
Contenido del curso
Bucles for
Los bucles, en diversos lenguajes de programación pueden ser definidos o indefinidos. Los bucles definidos preestablecen las condiciones de la iteración por adelantado. Por su parte, los bucles indefinidos establecen la condición en la que una iteración terminará. En este último tipo de bucles existe el riesgo de que el bucle se vuelva infinito (cuando la condición de suspensión nunca se cumple).
Los bucles definidos se implementan en Python a través del keyword for. Por su parte, los bucles indefinidos se implementan con el keyword while.
Sin embargo, esta no es la única forma de implementar bucles definidos. Por ejemplo, Javascript puede implementar un bucle definido mediante el siguiente constructo:
for (i = 0; i <= 10; i++) { <expresión> }
El bucle se puede leer de la siguiente manera:
i sea menor o igual que 10Es importante señalar que la expresión i++ es equivalente a lo que en Python escribiríamos como i += 1.
Una segunda forma de crear un bucle definido es iterando en una colección de objetos. Esta es la forma que Python utiliza:
for <variable> in <iterable>: <expresión>
El bucle for en Python
En la definición anterior debemos entender <iterable> como una colección de objetos; y la <variable> como el elemento específico que se está exponiendo mediante el bucle en cada iteración.
>>> frutas = ['manzana', 'pera', 'mango'] >>> for fruta in frutas: print(fruta) manzana pera mango
Iterables
En Python, un iterable es un objeto que se puede utilizar en un bucle definido. Si un objeto es iterable significa que se puede pasar como argumento a la función iter. El iterable que se pasa como parámetro a la función iter
regresa un iterator.
>>> iter('cadena') # cadena >>> iter(['a', 'b', 'c']) # lista >>> iter(('a', 'b', 'c')) # tupla >>> iter({'a', 'b', 'c'}) # conjunto >>> iter({'a': 1, 'b': 2, 'c': 3}) # diccionario
Todas las llamadas anteriores regresan un objeto de tipo iterator.
¿Qué pasa si le pasamos a la función iter un objeto que no es iterable? Obtendremos un TypeError que señala que el objeto no es un iterable. Esto es un ejemplo de programación defensiva en el que Python verifica el tipo del
objeto antes de proceder al cómputo. ¡Intentalo en tu consola!
Es importante señalar que estos no son los únicos tipos de objetos que pueden ser iterable. Existen gran cantidad de ejemplos en la librería estándar y, de hecho, casi cualquier objeto se puede convertir en un iterable (pero eso
ya lo veremos cuando hablemos de Python avanzado).
Iterators
Ahora que ya sabemos cómo obtener un iterator, ¿Qué podemos hacer con él? Un iterator es un objeto que regresa sucesivamente los valores asociados con el iterable.
>>> frutas = ['manzana', 'pera', 'mango'] >>> iterador = iter(frutas) >>> next(iterador) manzana >>> next(iterador) pera >>> next(iterador) mango
Como puedes ver, el iterator guarda el estado interno de la iteración, de tal manera que cada llamada sucesiva a next regresa el siguiente elemento. ¿Qué pasa una vez que ya no existan más elementos en el iterable? La llamada
a next arrojará un error de tipo StopIteration.
¿Cómo implementa Python los bucles definidos?
Ahora ya conocemos todos los elementos necesarios para entender que es lo que sucede en Python cuando ejecutamos un bucle for. Considera nuevamente el siguiente código:
>>> frutas = ['manzana', 'pera', 'mango'] >>> for fruta in frutas: print(fruta)
Este bucle se puede describir con los conceptos que explicamos previamente:
iter para obtener un iteratoriterator llama repetidamente la función next para
tener acceso al siguiente elemento en el bucle.StopIteration.Bucles for con diccionarios
Para iterar a lo largo de un diccionario tenemos varias opciones:
for directamente en el diccionario, lo cual nos permite
iterar a lo largo de las llaves del diccionario.for en la llamada keys del diccionario, lo cual nos permite
iterar a lo largo de las llaves del diccionario.for en la llamada values del diccionario, lo cual nos
permite iterar a lo largo de los valores del diccionario.for en la llamada items del diccionario, lo cual nos
permite iterar en una tupla de las llaves y los valores del diccionario.estudiantes = { 'mexico': 10, 'colombia': 15, 'puerto_rico': 4, } for pais in estudiantes: ... for pais in estudiantes.keys(): ... for numero_de_estudiantes in estudiantes.values(): ... for pais, numero_de_estudiantes in estudiantes.items(): ...
Modificación del comportamiento de un bucle for
Podemos modificar el comportamiento de un bucle for mediante los keywords
break y continue.
break termina el bucle y permite continuar con el resto del flujo de nuestro
programa.
continue termina la iteración en curso y continua con el siguiente ciclo de
iteración.
Conclusiones
Como pudimos observar, Python implementa los bucles definidos mediante los bucles for. Esta implementación nos permite iterar a lo largo de cualquier objeto que sea iterable. Para iterar necesitamos un iterador que nos regresará
el siguiente valor en cada iteración. Todo esto, Python lo puede hacer por nosotros con el constructo for ... in ....
Leonardo Gomez
EstudianteHinder Adrian Alvarez Perlaza
EstudianteLorenzo Enrique Piñango Cerezo
EstudianteCarlos Arturo Murcia Andrade
EstudianteJesús Petrona Castro
EstudianteLorenzo Enrique Piñango Cerezo
EstudianteAbraham Ismael Estanga Barrios
EstudianteGibran Alonso Pérez Favela
EstudianteMelido Enrique Bello Navarro
EstudianteAlejandro P
EstudianteMelido Enrique Bello Navarro
EstudianteCésar Isaac González Naranjo
EstudianteDenisse Rivas
EstudianteVíctor Isaac Arias García
EstudianteJulio Cardenas
EstudianteLuis Ángel Pérez Meléndez
EstudianteIsrael Sornoza Merino
EstudianteMaria Alejandra Moreno Giraldo
EstudianteMartín Martínez
EstudianteBrian Ricardo Sanchez Lopez
EstudianteAndres Gomez
EstudianteEdgar Rodríguez Gómez
EstudianteRené Sanchez
EstudianteChristian Sanclemente
EstudianteGen Ko
EstudianteJorge Torres Arboleda
EstudianteManuel Oviedo
EstudianteRafael Carpio
EstudianteEder Snchz
EstudianteJose Carlos Vega Moron
EstudianteRené Sanchez
Estudiantefreddy molleda
EstudianteRené Sanchez
EstudianteFernando Gabriel
EstudianteKevin Morales
EstudianteThomas Antonio Contreras Lan
EstudianteJuan David Cepeda López
EstudianteMarcos Sebastian Cassano Darriba
EstudianteEdward Alexis Herrera Sarmiento
EstudianteAlejandro Ching
EstudianteJose J Vargas
EstudianteFabiola Mar
EstudianteJose J Vargas
EstudianteLuis Alonso Hernández Galván
EstudianteLaydi Viviana Bautista
EstudianteLaydi Viviana Bautista
EstudianteGUADALUPE GARCÍA VÁZQUEZ
EstudianteCristian Torres
EstudianteDiego Alexander Reyes Obando
Estudiante!
Está bueno el gráfico (y)
Gracias :)
Para los curiosos...
Yo he estado manejando ya otros lenguajes de programación en el pasado. Y recuerdo que cuando se quería inicializar un variable en JS, se podía hacer algo como esto...
var teclas = { LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40 };
Sin embargo si en Python se inicializa el diccionario de manera similar...
codigo_area_paises = { "Colombia": 57, "Mexico": 52, "Estados Unidos": 1, "India": 91, "Espana": 34, "Reino Unido": 44 }
Produce en error de sintaxis, entonces el corchete debe ponerse al lado del igual así...
codigo_area_paises = { "Colombia": 57, "Mexico": 52, "Estados Unidos": 1, "India": 91, "Espana": 34, "Reino Unido": 44 }
Es algo muy curioso, pero deja una buena lección y es que aveces surgirán errores de la nada que tu no entiendes, sin embargo hay que tener en cuenta que todos los lenguajes son distintos y es preciso ir poco a poco acostumbrándonos a estas diferencias.
Así es Carlos, lo que pasa es que python es muy estricto en ese aspecto, en otros lenguajes podemos incluso meter espacios, saltos de líneas y no hay problemas pero python si es muy extremista en la manera en como se escribe, al igual de esa manera se mantiene un código mucho más legible, hay que recordar que precisamente python se caracteriza por eso, en que la manera en que se escribe el código es muy legible.
Saludos
Excelente!
Aca les dejo es aporte de las formas de usar el For.
# escribe en un rango de 2 a 6 for x in range(2, 6): print(x) #Imprime la lista completa fruits = ["apple", "banana", "cherry", "Parchita", "Mango"] for y in fruits: print(y) #break cuando llega a banana fruits = ["apple", "banana", "cherry"] for x in fruits: print(x) if x == "banana": break # break cuando llega a banana e imprime el sig en la lista fruits = ["apple", "banana", "cherry"] for x in fruits: if x == "banana": continue print(x) # crea una secuencia (ini,Fin, Secuencia) for x in range(0, 31, 5): print(x) # Loop dentro de una Loop adj = ["red", "big", "tasty"] fruits = ["apple", "banana", "cherry"] for x in adj: for y in fruits: print(x, y) # for loops cannot be empty, but if you for some reason have a for # loop with no content, put in the pass statement to avoid getting an error. for x in [0, 1, 2]: pass```
grandes ejemplos, gracias, ayuda muchisimo escribirlos y entender cada logica detras del codigo.
#Bucles for #Los bucles son usados para repetir una expressión en una colección de objectos #En python esto ve expresa como ''' for <variable> in <iterable>: #Para cada variable en el conjunto iterable <expresión> #Ejecuta la expresión. ''' frutas = ['manzana', 'pera', 'mango'] for fruta in frutas: #Para cada fruta en el conjunto de frutas print(f'La fruta es {fruta}.') #Printea la fruta 'x'. x --> Nombre de la fruta ### Usando bucle for en diccionarios estudiantes = { #diccionario estudiantes porque tiene llave 'mexico': 10, #Mexico es la llave 0, y el numero 10 es su valor 'colombia': 15, #Colombia es la llave 1 y el numero 15 es su valor 'puerto_rico': 4 #Puerto_rico es la llave 2 y el numero 4 es su valor. } for pais in estudiantes: #Este iter repite la expresion con cada llave o en este caso pais. print(pais) #Esta expressión imprime cada pais. for pais in estudiantes.keys():#Este iter hace totalmente lo mismo que el anterior. print(pais) for numero_de_estudiantes in estudiantes.values(): #Extrae cada valor del diccionario, el de la derecha a la llave, y repite la expresion con cada valor. print(numero_de_estudiantes) #numero_de_estudiantes vendria siendo cada valor en el diccionario estudiantes. Entonces, estariamos imprimiendo cada valor. for pais, numero_de_estudiantes in estudiantes.items(): #Crea un tuple, la llave y su valor. Los asigna a dos variables, pais y numero_de_estudiantes y los usa en la expresion. Y se repite con cada llave y valor. print(f'En {pais} hay {numero_de_estudiantes} estudiantes activos.') #Usar la llave y el valor en la forma lejible de imprimir. #Reto Personal #Persona, comida favorita diccionario = { 'Rubi' : 'los Chitos', 'Ismael' : 'la Pizza', 'Perla' : 'el Sancocho', 'Migue' : 'el Arroz con Pollo', 'Enrique' : 'el Arroz con Berenjena' } #Imprimir una frase que incluya la llave y el valor for nombre, comida in diccionario.items(): if comida[-1] == 's': singular_o_plural = 'gustan' else: singular_o_plural = 'gusta' print(f'A {nombre} le {singular_o_plural} {comida}.')```
Buen aporte, aprovecho para hacerte una consulta, en la linea
<if comida[-1] == 's':>
Por qué usaste -1 y no 2?
Disculpa la demora. -1 en un indice quiere decir el ultimo indice. En este caso, si el ultimo indice tuviera una 's', entonces la palabra seria plural. Ejemplo: Los Chitos. Chitos tiene una s al final. Y usando -1 en el indice puedo saber si tiene una 's'.
Ya luego si la palabra es plural diria: A Rubi le gustan los Chitos. No diria: A Rubi le gusta los Chitos.
Espero haberme explicado bien.
Creo que el nivel de este documento está algo alto para los que van iniciando en esto
Hola! Vengo del Curso Básico de Python, te lo recomiendo, hará que todo esto sea más claro. Ahí se explican todos estos conceptos más a detalle paso por paso.
Este curso por lo que veo lo han ordenado despues del basico de Python y antes del intermedio por lo que lo recomendable es haber realizado el basico antes de tomar este curso
Aqui mis notas
cadena = 'cadena' lista = ['uno', 'dos', 'tres'] tupla = ('uno', 'dos', 'tres') conjunto = {'uno', 'dos', 'tres'} diccionario = {'uno': 1, 'dos': 2, 'tres': 3} print('cadena:.........', cadena, type(cadena)) print('lista:..........', lista, type(lista)) print('tupla:..........', lista, type(tupla)) print('conjunto:.......', conjunto, type(conjunto)) print('diccionario:....', diccionario, type(diccionario)) print(' ') iterador_cadena = iter(cadena) print('next iterador en cadena: ') print(next(iterador_cadena)) print(next(iterador_cadena)) print(next(iterador_cadena)) print(next(iterador_cadena)) print(next(iterador_cadena)) print(next(iterador_cadena)) print('') iterador_lista = iter(lista) print('next iterador en lista: ') print(next(iterador_lista)) print(next(iterador_lista)) print(next(iterador_lista)) print('') iterador_tupla = iter(tupla) print('next iterador en tupla: ') print(next(iterador_tupla)) print(next(iterador_tupla)) print(next(iterador_tupla)) print('') iterador_conjunto = iter(conjunto) print('next iterador en conjunto: ') print(next(iterador_conjunto)) print(next(iterador_conjunto)) print(next(iterador_conjunto)) print('') iterador_diccionario = iter(diccionario) print('next iterador en diccionario: ') print(next(iterador_diccionario)) print(next(iterador_diccionario)) print(next(iterador_diccionario)) print('') print('for en cadena') for letra in cadena: print(letra) print(' ') print('for en lista') for item_lista in lista: print(item_lista) print(' ') print('for en tupla') for item_tupla in tupla: print(item_tupla) print(' ') print('for en conjunto') for item_conjunto in conjunto: print(item_conjunto) print(' ') print('for en diccionario') for item_diccionario in diccionario: print(item_diccionario) print(' ') print('for en diccionario.items()') for item_diccionario_item in diccionario.items(): print(item_diccionario_item) print(' ') print('for en diccionario.keys()') for item_diccionario_key in diccionario.keys(): print(item_diccionario_key) print(' ') print('for en diccionario.values()') for item_diccionario_value in diccionario.values(): print(item_diccionario_value) print(' ')
que buen resumen,
Les dejo mis notas tomadas de forma digital =) .
Hola Israel, Espero puedas ayudarme. ¿cómo python entiende que fruta es un elemento dentro de frutas? No entendí esa parte.
Hola María, por norma general la variable a iterar debe llamarse "i" pero en este caso Israel decidió colocarle frutas. Un saludo
Cuando leí esta clase tuve ciertas dudas, las resolví yendo a los libros. Para no hacerla larga, estudien lo que son las tuplas, listas y diccionarios. Y desde luego lean relativo al for. Ya que le den una revisada se regresan acá y le entenderán. Les comparto: https://www.iaa.csic.es/python/curso-python-para-principiantes.pdf Saludos.
Gracias!
muy buen material, gracias por compartirlo
Diccionario (╯°□°)╯︵ ┻━┻
estudiantes = { 'mexico': 10, 'colombia': 15, 'puerto_rico': 4, } # Obtenemos solos nombres de la palabra clave for pais in estudiantes: print(pais) # Obtenemos lo mismo que el anterior for keys in estudiantes.keys(): print(keys) # Obtenemos los valores de la palabra clave creada for numero_de_estudiantes in estudiantes.values(): print(numero_de_estudiantes) # (╯°□°)╯︵ ┻━┻) obtenemos la palabra clave con su valor for pais, numero_de_estudiantes in estudiantes.items(): print(pais, numero_de_estudiantes) # "break" termina el bucle y permite continuar con el resto del flujo de nuestro programa. # "continue" termina la iteración en curso y continua con el siguiente ciclo de iteración. # break EJ : for pais, numero_de_estudiantes in estudiantes.items(): print(pais, numero_de_estudiantes) if pais == 'mexico': break for keys in estudiantes.keys(): print('Continue: ', keys) for numero_de_estudiantes in estudiantes.values(): if numero_de_estudiantes == 10: print(numero_de_estudiantes) continue
muy buenos apuntes, los voy a tomar, gracias.
Hola amigos, no se si alguien ya lo haya comentado antes, pero encontré un detalle a tomar en cuenta para evitar posibles bugs o errores inepserados.
El detalle es el siguiente, si en tu programa defines a uno de tus objetos como un iterable entonces solo podrás iterar sobre el una sola vez, ya sea usando la función next o usando el bucle for, si deseas volver a iterar sobre el ya no sera posible, en el código 1 siguiente muestro lo que trato de decir:
Codigo 1:
it2 = iter("segunda") for b in it2: print(b) print("......") for b in it2: print(b)
Output 1:
s e g u n d a ......
Como ven ya no volvió a iterar sobre el segundo loop for después de los puntos de separación. Sin embargo, si vemos el siguiente código con ligeras modificaciones:
Codigo 2
iterador2 = "segunda" for b in iterador2: print(b) print("......") for b in iterador2: print(b)
Output 2
s e g u n d a ...... s e g u n d a
como se ve aquí, sí vuelve a iterar sin problema sobre el mismo objeto. La única diferencia es que en el código 1 definí como iterable a la cadena con la función iter y en el codigo 2 no lo hice, solo le asigne un nombre de variable a la cadena correspondiente. Eso es algo muy curioso.
Y me surge una pregunta: ¿Hay manera de reinicializar el contador de una iterable en caso de llegar a ser necesario? es decir, que no pase lo que me pasa en el código 1. Y en caso de que si fuera posible, ¿esto se considera una buena o mala practica?
Saludos comunidad.
¿Qué es un Diccionario de datos? 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). .
diccionario = {'nombre' : 'Carlos', 'edad' : 22, 'cursos': ['Python','Django','JavaScript'] }
print(diccionario['nombre'])//-->Carlos print(diccionario['edad'])// -->22 print(diccionario['cursos'])// -->['Python','Django','JavaScript'] print(diccionario['cursos'][0])// -->Python print(diccionario['cursos'][1])// -->Django
Referencias y más: https://devcode.la/tutoriales/diccionarios-en-python/
no entendi absolutamente nada
Brother yo tambien estoy empezando, dime que no entiendes.?
Soy algo mas experimentado, aunque logré entender la clase, aun así no conocía algunas conceptos que aquí se explican, si gustas puedes decirme que exactamente te dejo con mas dudas para poder explicarte con otras palabras
Esta clase deberia estar grabada
🐱🚀
# Iteracion con objetos frutas = ['Naranja', 'Pera', 'Manzana', 'Frutilla', 'Piña', 'Limon', 'Cereza', 'Melon', 'Chirimolla', 'Durazno'] frutasVacias = [] # For nombre in objeto: # /*code*/ # Hipotesis # Cuando ponemos un else en el ciclo definido del for esto nos indica que cuando termine o no encuentre nada por recorrer este se ejecutara ^_^ # Ejemplo cuando no tiene nada for fruta in frutasVacias: print(fruta) else: print('Tengo vida cuando termina el recorrido completo o cuando no tiene nada\n') # Ejemplo cuando termina con el recorrido de los datos que pueda poseer for fruta in frutas : print(fruta) else: print('Tengo vida cuando termina el recorrido completo o cuando no tiene nada\n') # Iteracion cuando desconocemos el tipo de recorrido por el cual va # creamos un iterador para ese tipo de datos con iter(dato) # Cada vez que queramos ver el siguiente dato usaremos el next(iterador) el cual nos dara el valor siguiente # 1 Forma iterador = iter(frutas) cantidadDeDatos = len(frutas) # for i in range(0, cantidadDeDatos): # print(next(iterador)) # 2 Forma # Si intercambiamos el iter(frutas) por el iterador que creamos anteriormente luego no podremos ver los datos que contiene este ya que este lo transforma para obtener la cantidad de datos que contiene 🤯!! # por esto debemos nosotros crear nuevamente el iterador a quien queremos crear para que de esa forma transforme ello y no afecte el dato por el cual nosotros vamos a imprimir los datos o usarlos cantidadDeDatosDelIterador = sum(1 for _ in iter(frutas)) for i in range(0, cantidadDeDatosDelIterador): print(next(iterador)) # NT: Cuando recorremos un iterador no podemos volver a recorrerlo por ello solo puedas hacerlo con la forma que tu desees```
buenisimo el aporte bro! lo del uso del else en ciclo for y tambien las formas de obtener un rango en el ciclo for
Super! que bueno que te aporte ❤
(Opinión personal) ++Estas lecturas son lo peor de Platzi++, nunca las leo, no me gusta leer y por eso busco cursos en formato vídeo. Si quisiera leer me voy a la documentación de tal o cual tecnología y no pago la suscripción. No sé si a alguien más le pasa, pero para mi el valor de Platzi es que me entreguen todo el conocimiento en bandeja y no es de flojo, es un tema de tiempo y de gustos, ya hice mi carrera profesional, ya curse mi posgrado, ya sé cómo investigar, ¡ya leí más que suficiente! y aun así lo debo seguir haciendo día a día.
Ahora, cuando quiero aprender cosas nuevas idealmente busco que sea de forma presencial con un profesor (para mi es la mejor manera de aprender, incomparable a otra, puedo preguntar lo que necesito y si entiendo algo rápidamente, podemos avanzar) o que sea en vídeo, de no ser posible, uso el audio, pero la lectura esta en la última de mis prioridades. Y no, no es que no lea, de hecho leo bastante. Es sólo que no me gusta y lo evito siempre que puedo.
¿Alguien que me entienda o comparta mi opinión?
Gracias por el feedback. Yo te entiendo, pero también he encontrado lecturas increíbles en diferentes cursos a lo largo de mi estadia en la plataforma, son lecturas que valen la pena guardar porque no las vas a encontrar en otro lugar. Es cierto, que un video enseña mucho mejor pero las lecturas también ayudan a otras personas :)
Entiendo que a muchos nos corta la ilación del tema y puede no llegar a ser la mejor forma de aprender, sin embargo, lo tomo como algo que me corta la rutina y me hace despegarme de la monotonía (no sé si se entienda). Creo que deberían existir las 2 opciones (o tener un video del tema luego del texto donde se explique mas a fondo o de manera práctica). Hay algunas lecturas mejores que otras y en muchos casos terminan ayudando a muchas personas que tal vez su metodología de aprendizaje sea diferente, no lo llamaría lo peor de Platzi aunque tampoco esta entre mis favoritos pero es necesario :D.
Puse lo mejor de mi para entender el documento, y aunque me quedo claro, quise reforzar un poco y encontré este video, que literal, se entiende a la perfección: https://www.youtube.com/watch?v=mRI8C2ZhDkg&ab_channel=Programaci%C3%B3nATS
Excelente el video!
Definitivamente debería encontrarse la explicación en vídeo, fue necesario recurrir a recursos externos para poder interpretar el contenido.
Asi es, totalmente de acuerdo!
Aqui mi contribucion usando metodos basicos que se aplican a strings para darles unppoco de formato.
#!/usr/bin/env python3 contador = 0 while contador <= 10: print(contador, end=' ') contador += 1 print('\n\n') contador_externo = 0 contador_interno = 0 while contador_externo < 5: while contador_interno < 6: print(contador_externo, contador_interno) contador_interno += 1 if contador_interno >= 3: break contador_externo += 1 contador_interno = 0 # resetear este frutas = ['manzana', 'pera', 'mango'] iterator = iter(frutas) print(next(iterator)) print(next(iterator)) print(next(iterator)) print("Usando For loop".center(25,'-')) for fruta in frutas: print(f"\t-{fruta}") estudaintes = { 'mexico': 10, 'colombia': 15, 'puerto rico': 4 } print("Estudiantes".center(15, '-')) for pais in estudaintes: print(pais.title()) print('\n') for pais in estudaintes.keys(): print(pais.title()) print("\n\n") for numero_de_estudiantes in estudaintes.values(): print(numero_de_estudiantes) print("\n\n") print("pais".title().rjust(11), "estudiantes".title().rjust(13)) for pais, numero_de_estudiantes in estudaintes.items(): print(f"{pais.title().rjust(11)} : {numero_de_estudiantes}")```
¿Para que se utiliza el .center y las "\n\n" ?
center() es una funcion que se utiliza para dar formato a los strings. En este caso estoy formateando en string que se presentara en la linea de commando. Es algo asi: -----------Estudiante------- center(15, '-') --> Centra en 15 espacios la palabra "Estudiantes" y los demas espacios llenalos con '-'
Saludos.
Después de un rato de estar experimentando con el código (yo desconocía totalmente los iterators) me surgió la duda si se podría sumar los values y después de varios minutos llegué a esto.
for numero_de_estudiantes in estudiantes.values(): print (numero_de_estudiantes) total_estu = numero_de_estudiantes + total_estu print ('el numero total de estudiantes en los paises es de: ', total_estu)
No sé si mi aportación sirva de algo, pero me motiva que lo aprendí yo solito jaja
Je, a la proxima puedes usar el editor de codigo
estudiantes = { 'mexico': 10, 'colombia': 15, 'puerto_rico': 4, } total_estu=0 for numero_de_estudiantes in estudiantes.values(): total_estu += numero_de_estudiantes print(total_estu)
Abajo te puse lo que proposiste pero de otra forma, que te parece? Lo probé aquí https://www.programiz.com/python-programming/online-compiler/
"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)". https://devcode.la/tutoriales/diccionarios-en-python/
Me ha sido muy útil este aporte. Gracias por compartir.
Buen aporte, gracias