CursosEmpresasBlogLiveConfPrecios

Bucles for

Clase 10 de 31 • Curso de Introducción al Pensamiento Computacional con Python

Contenido del curso

Introducción al pensamiento computacional

  • 1
    Introducción al pensamiento computacional

    Introducción al pensamiento computacional

    02:26 min
  • 2
    Introducción al cómputo

    Introducción al cómputo

    15:39 min
  • 3
    Introducción a los lenguajes de programación

    Introducción a los lenguajes de programación

    09:25 min

Introducción a Python

  • 4
    Preparación de tu computadora

    Preparación de tu computadora

    01:16 min
  • 5
    Elementos básicos de Python

    Elementos básicos de Python

    10:38 min
  • 6
    Asignación de variables

    Asignación de variables

    06:06 min
  • 7
    Cadenas y entradas

    Cadenas y entradas

    14:12 min
  • 8
    Programas ramificados

    Programas ramificados

    11:36 min
  • 9
    Iteraciones

    Iteraciones

    09:11 min
  • 10
    Bucles for

    Bucles for

    Viendo ahora

Programas numéricos

  • 11
    Representación de flotantes

    Representación de flotantes

    03:45 min
  • 12
    Enumeración exhaustiva

    Enumeración exhaustiva

    07:20 min
  • 13
    Aproximación de soluciones

    Aproximación de soluciones

    12:45 min
  • 14
    Búsqueda Binaria

    Búsqueda Binaria

    10:34 min

Funciones, alcance y abstracción

  • 15
    Funciones y abstracción

    Funciones y abstracción

    09:12 min
  • 16
    Scope o Alcance

    Scope o Alcance

    10:00 min
  • 17
    Especificaciones del código

    Especificaciones del código

    05:26 min
  • 18
    Recursividad

    Recursividad

    11:06 min
  • 19
    Fibonnacci y la Recursividad

    Fibonnacci y la Recursividad

    01:10 min

Tipos estructurados, mutabilidad y funciones de alto nivel

  • 20
    Funciones como objetos

    Funciones como objetos

    01:40 min
  • 21
    Tuplas

    Tuplas

    08:09 min
  • 22
    Rangos

    Rangos

    07:35 min
  • 23
    Listas y mutabilidad

    Listas y mutabilidad

    14:00 min
  • 24
    Diccionarios

    Diccionarios

    06:56 min

Pruebas y debugging

  • 25
    Pruebas de caja negra

    Pruebas de caja negra

    11:50 min
  • 26
    Pruebas de caja de cristal

    Pruebas de caja de cristal

    07:45 min
  • 27
    Debugging

    Debugging

    09:56 min

Excepciones y afirmaciones

  • 28
    Manejo de excepciones

    Manejo de excepciones

    07:05 min
  • 29
    Excepciones y control de flujo

    Excepciones y control de flujo

    01:26 min
  • 30
    Afirmaciones

    Afirmaciones

    04:36 min
  • 31
    Conclusiones

    Conclusiones

    02:33 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      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:

      • Inicializa el bucle en 0
      • Continua el bucle mientras i sea menor o igual que 10
      • Incrementa i en uno al final de cada iteración

      Es 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:

      1. Python llama internamente la función iter para obtener un iterator
      2. Una vez que tiene un iterator llama repetidamente la función next para tener acceso al siguiente elemento en el bucle.
      3. Detiene el bucle una vez que se arroja el error StopIteration.

      Bucles for con diccionarios

      Para iterar a lo largo de un diccionario tenemos varias opciones:

      • Ejecutar el bucle for directamente en el diccionario, lo cual nos permite iterar a lo largo de las llaves del diccionario.
      • Ejecutar el bucle for en la llamada keys del diccionario, lo cual nos permite iterar a lo largo de las llaves del diccionario.
      • Ejecutar el bucle for en la llamada values del diccionario, lo cual nos permite iterar a lo largo de los valores del diccionario.
      • Ejecutar el bucle 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 ....

      Comentarios

        Leonardo Gomez

        Leonardo Gomez

        student•
        hace 5 años

        !

          Hinder Adrian Alvarez Perlaza

          Hinder Adrian Alvarez Perlaza

          student•
          hace 5 años

          Está bueno el gráfico (y)

          Lorenzo Enrique Piñango Cerezo

          Lorenzo Enrique Piñango Cerezo

          student•
          hace 5 años

          Gracias :)

        Carlos Arturo Murcia Andrade

        Carlos Arturo Murcia Andrade

        student•
        hace 5 años

        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.

          Jesús Petrona Castro

          Jesús Petrona Castro

          student•
          hace 5 años

          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

          Lorenzo Enrique Piñango Cerezo

          Lorenzo Enrique Piñango Cerezo

          student•
          hace 5 años

          Excelente!

        Abraham Ismael Estanga Barrios

        Abraham Ismael Estanga Barrios

        student•
        hace 5 años

        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```
          Gibran Alonso Pérez Favela

          Gibran Alonso Pérez Favela

          student•
          hace 4 años

          grandes ejemplos, gracias, ayuda muchisimo escribirlos y entender cada logica detras del codigo.

        Melido Enrique Bello Navarro

        Melido Enrique Bello Navarro

        student•
        hace 5 años
        #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}.')```
          Alejandro P

          Alejandro P

          student•
          hace 5 años

          Buen aporte, aprovecho para hacerte una consulta, en la linea

          <if comida[-1] == 's':>

          Por qué usaste -1 y no 2?

          Melido Enrique Bello Navarro

          Melido Enrique Bello Navarro

          student•
          hace 5 años

          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.

        César Isaac González Naranjo

        César Isaac González Naranjo

        student•
        hace 6 años

        Creo que el nivel de este documento está algo alto para los que van iniciando en esto

          Denisse Rivas

          Denisse Rivas

          student•
          hace 6 años

          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.

          Víctor Isaac Arias García

          Víctor Isaac Arias García

          student•
          hace 5 años

          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

        Julio Cardenas

        Julio Cardenas

        student•
        hace 6 años

        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(' ')
          Luis Ángel Pérez Meléndez

          Luis Ángel Pérez Meléndez

          student•
          hace 4 años

          que buen resumen,

        Israel Sornoza Merino

        Israel Sornoza Merino

        student•
        hace 6 años

        Les dejo mis notas tomadas de forma digital =) .

          Maria Alejandra Moreno Giraldo

          Maria Alejandra Moreno Giraldo

          student•
          hace 6 años

          Hola Israel, Espero puedas ayudarme. ¿cómo python entiende que fruta es un elemento dentro de frutas? No entendí esa parte.

          Martín Martínez

          Martín Martínez

          student•
          hace 6 años

          Hola María, por norma general la variable a iterar debe llamarse "i" pero en este caso Israel decidió colocarle frutas. Un saludo

        Brian Ricardo Sanchez Lopez

        Brian Ricardo Sanchez Lopez

        student•
        hace 6 años

        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.

          Andres Gomez

          Andres Gomez

          student•
          hace 6 años

          Gracias!

          Edgar Rodríguez Gómez

          Edgar Rodríguez Gómez

          student•
          hace 6 años

          muy buen material, gracias por compartirlo

        René Sanchez

        René Sanchez

        student•
        hace 6 años

        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) # &quot;break&quot; termina el bucle y permite continuar con el resto del flujo de nuestro programa. # &quot;continue&quot; 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
          Christian Sanclemente

          Christian Sanclemente

          student•
          hace 6 años

          muy buenos apuntes, los voy a tomar, gracias.

        Gen Ko

        Gen Ko

        student•
        hace 6 años

        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(&quot;segunda&quot;) for b in it2: print(b) print(&quot;......&quot;) 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 = &quot;segunda&quot; for b in iterador2: print(b) print(&quot;......&quot;) 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.

        Jorge Torres Arboleda

        Jorge Torres Arboleda

        student•
        hace 6 años

        ¿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). .

        • 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.
        diccionario = {'nombre' : 'Carlos', 'edad' : 22, 'cursos': ['Python','Django','JavaScript'] }
        • Podemos acceder al elemento de un Diccionario mediante la clave de este elemento, como veremos a continuación:
        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/

        Manuel Oviedo

        Manuel Oviedo

        student•
        hace 6 años

        no entendi absolutamente nada

          Rafael Carpio

          Rafael Carpio

          student•
          hace 6 años

          Brother yo tambien estoy empezando, dime que no entiendes.?

          Eder Snchz

          Eder Snchz

          student•
          hace 6 años

          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

        Jose Carlos Vega Moron

        Jose Carlos Vega Moron

        student•
        hace 6 años

        Esta clase deberia estar grabada

        René Sanchez

        René Sanchez

        student•
        hace 6 años

        🐱‍🚀

        # 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```
          freddy molleda

          freddy molleda

          student•
          hace 6 años

          buenisimo el aporte bro! lo del uso del else en ciclo for y tambien las formas de obtener un rango en el ciclo for

          René Sanchez

          René Sanchez

          student•
          hace 6 años

          Super! que bueno que te aporte ❤

        Fernando Gabriel

        Fernando Gabriel

        student•
        hace 6 años

        (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?

          Kevin Morales

          Kevin Morales

          student•
          hace 6 años

          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 :)

          Thomas Antonio Contreras Lan

          Thomas Antonio Contreras Lan

          student•
          hace 6 años

          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.

        Juan David Cepeda López

        Juan David Cepeda López

        student•
        hace 5 años

        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

          Marcos Sebastian Cassano Darriba

          Marcos Sebastian Cassano Darriba

          student•
          hace 5 años

          Excelente el video!

        Edward Alexis Herrera Sarmiento

        Edward Alexis Herrera Sarmiento

        student•
        hace 6 años

        Definitivamente debería encontrarse la explicación en vídeo, fue necesario recurrir a recursos externos para poder interpretar el contenido.

          Alejandro Ching

          Alejandro Ching

          student•
          hace 4 años

          Asi es, totalmente de acuerdo!

        Jose J Vargas

        Jose J Vargas

        student•
        hace 6 años

        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}")```
          Fabiola Mar

          Fabiola Mar

          student•
          hace 6 años

          ¿Para que se utiliza el .center y las "\n\n" ?

          Jose J Vargas

          Jose J Vargas

          student•
          hace 6 años

          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.

        Luis Alonso Hernández Galván

        Luis Alonso Hernández Galván

        student•
        hace 6 años

        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

          Laydi Viviana Bautista

          Laydi Viviana Bautista

          student•
          hace 6 años

          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)
          Laydi Viviana Bautista

          Laydi Viviana Bautista

          student•
          hace 6 años

          Abajo te puse lo que proposiste pero de otra forma, que te parece? Lo probé aquí https://www.programiz.com/python-programming/online-compiler/

        GUADALUPE GARCÍA VÁZQUEZ

        GUADALUPE GARCÍA VÁZQUEZ

        student•
        hace 6 años

        "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/

        BUCLE.png
          Cristian Torres

          Cristian Torres

          student•
          hace 6 años

          Me ha sido muy útil este aporte. Gracias por compartir.

          Diego Alexander Reyes Obando

          Diego Alexander Reyes Obando

          student•
          hace 6 años

          Buen aporte, gracias