Ciclos
Clase 9 de 56 • 21 Días de Python
Contenido del curso
Clase 9 de 56 • 21 Días de Python
Contenido del curso
Los ciclos son una herramienta esencial dentro de Python. Sirven para repetir un bloque de código varias veces, dependiendo de una condición específica. Los ciclos son fundamentales para la automatización de tareas y la eficiencia en el código.
Existen dos tipos de ciclos en Python: los ciclos "for" y los ciclos "while". Ambos tienen una sintaxis similar, pero se utilizan en situaciones diferentes.
Ciclo For
El ciclo "for" es utilizado para repetir un bloque de código un número específico de veces. Su sintaxis básica es la siguiente:
for variable in secuencia: # código a ejecutar
La variable se establece para recorrer los elementos en la secuencia especificada, y el código dentro del ciclo se ejecutará para cada elemento de la secuencia. Por ejemplo, el siguiente ciclo "for" imprimirá los números del 1 al 10 en la consola:
for i in range(1, 11): print(i) # 1 # 2 # 3 # 4 # 5 # 6 # 7 # 8 # 9 # 10
También se utiliza para recorrer las propiedades de un diccionario y de colecciones como una lista.
El uso de un ciclo "for in" es la siguiente:
user = { "name": "Pepito", "age": 20, "role": "Python developer" } for prop in user: print(user[prop]) # "Pepito" # 20 # "Python developer"
En este ejemplo, se establece una variable "prop" que se utilizará para recorrer las propiedades del diccionario. El valor de cada propiedad se imprimirá en la consola.
Por otro lado, la sintaxis de un ciclo for para recorrer una lista es la siguiente:
technologies = ["py", "django", "webscraping"] for element in technologies: print(element) # "py" # "django" # "webscraping"
En este ejemplo, se establece una variable "element" que se utilizará para recorrer cada elemento en la lista. Cada valor se imprimirá en la consola.
Ciclo While
Por otro lado, el ciclo while se utiliza para repetir un bloque de código mientras se cumpla una determinada condición. Su sintaxis básica es la siguiente:
while condición: # código a ejecutar
La condición se evalúa antes de ejecutar el código dentro del ciclo y si la condición es verdadera, el código se ejecutará de nuevo. Por ejemplo, si quisiéramos hacer una implementación del ejemplo anterior con los números del 1 al 10, quedaría de la siguiente manera:
i = 1 while i <= 10: print(i) i += 1
En Python no existe una estructura de ciclo do-while como en otros lenguajes de programación, pero se puede lograr un comportamiento similar utilizando un ciclo while junto con una condición inicial que siempre se cumpla.
Por ejemplo, para imprimir los números del 1 al 10 utilizando un ciclo while con un comportamiento similar a un do-while, se puede hacer lo siguiente en Python:
i = 1 while True: print(i) i += 1 if i > 10: break
En este caso, la condición inicial es True, por lo que el ciclo se ejecutará al menos una vez. En cada iteración, se imprime el valor de la variable i y se incrementa en 1. Después de cada incremento, se evalúa la condición de que i sea mayor que 10. Si esto es cierto, se utiliza la instrucción break para salir del ciclo.
Este código imprimirá los números del 1 al 10 en la consola de Python.
Todo esto y más lo puedes aprender en el Curso de Fundamentos de Python
Julio Cardenas
Jhon Freddy Tavera Blandon
Nicolas Alpargatero
Ronaldo Jiménez
Juan Camilo Mesa Muñoz
Adriana Paternina
Adriana Paternina
Santiago Pinto
Juan Camilo Noreña López
Braulio Rangel
Waldir Zapata Garcia
MARCO ANTONIO REYES GONZALEZ
En freecodecamp me encontre estas dos graficas que resumen bien los loops:
# Iterar sobre una cadena de texto mensaje = "Hola, mundo!" for letra in mensaje: print(letra) # Iterar sobre una tupla coordenadas = (3, 4, 5) for coordenada in coordenadas: print(coordenada) # Iterar utilizando un rango de números for i in range(1, 200): print(i) '''En resumen, el ciclo for es una estructura de control poderosa en Python que permite iterar sobre secuencias y ejecutar un bloque de código para cada elemento de la secuencia. Puedes utilizarlo para realizar diferentes tareas, como procesar elementos de una lista, recorrer caracteres de una cadena, trabajar con tuplas o iterar sobre rangos de números.'''
Aquí tienes otro ejemplo que utiliza un ciclo while para sumar números ingresados por el usuario hasta que se ingrese un número negativo: total = 0 while True: numero = int(input("Ingrese un número (ingrese un número negativo para salir): ")) if numero < 0: break total += numero print("La suma total es:", total) '''En este ejemplo, el ciclo while se ejecuta indefinidamente (while True) hasta que se ingrese un número negativo. En cada iteración, se solicita al usuario que ingrese un número. Si se ingresa un número negativo, se utiliza la instrucción break para salir del ciclo. De lo contrario, el número se suma al total. Al final, se muestra la suma total de los números ingresados. Recuerda que es importante asegurarte de que la condición en el ciclo while eventualmente se vuelva falsa para evitar bucles infinitos.'''
Buen resumen, es de esos conceptos que se entiende, pero a la hora de estar cara a cara con el código no le doy a la primera.
""" for elemento in range(1, 11): print(elemento) # estamos iterando bajo un conjunto de datos: # reccorrer listas, tuplas, diccionario. """ #iterar sobre una lista print('iterar sobre una lista: ') numeros = [1, 'dos', 3, 4] for numero in numeros: print(numero) ''' while True: print('Mientras la condicon sea "True" el bloque de codigo se va a ejecutar') # esto es un ciclo infinito porque siempre esta en True # es muy utilizado cuando no se conocen el numero de iteraciones que vamos a realizar ''' # condición contador = 0 while contador < 10: print(contador) contador += 1 # ejemplo practico numero_secreto = 10 print('------ ADIVINA EL NÚMERO -----') while True: adivina = int(input('Escribe el número => ')) if adivina == numero_secreto: break # romper la ejecución del ciclo (stop)
Buen aporte. Aquí se puede ver de forma muy clara el uso del for, el while y el equivalente a do-while.
Hola, estoy estudiando python en la U y me pidieron esto:
Escribe una función llamada afficher_patron que reciba como argumento un número entero n, el cual debe ser positivo o cero. La función debe imprimir un patrón de n líneas siguiendo este formato:
Por ejemplo, si n = 10, la salida debe ser:
yamlCopiarEditar0
01
012
0123
01234
012345
0123456
01234567
012345670
0123456701
La función no debe devolver nada, solo imprimir el patrón.
Restricción:
% en tu solución.Por ahora mi código va así:
def afficher_patron(n): text = "" for i in range(n): text = text + str(i) for j in range(i + n): text += str(j % 10) print(text) ```def afficher\_patron(n):   text = ""   for i in range(n):   text = text + str(i)   for j in range(i + n):   text += str(j % 10)   print(text) La verdad, a partir del for j in range ya no entiendo nada, chatgpt me dijo eso, mas o menos veo la lógica y todavía no hace lo que tiene que hacer =(
ese debería ser el resultado
Esta seria la solución:
def afficher_patron(n): # Validamos que n sea positivo o cero if n < 0: return # Recorremos cada línea for i in range(n): linea = "" # Reiniciamos el texto en cada línea for j in range(i + 1): linea += str(j % 10) # Agregamos el número con el operador % print(linea)
for i in range(n):
→ genera las líneas desde 0 hasta n - 1.for j in range(i + 1):
→ en cada línea, imprime los números desde 0 hasta i.j % 10
→ hace que después de 9 vuelva a 0.Cuando se usa: "in range(n1, n )" range solo acepta como parámetros datos tipo number ??
Si, range() acepta enteros o números de punto flotante. La sintaxis básica es la siguiente: range([start], stop, [step]) los argumentos start y step son opcionales, mientras que stop es obligatorio :)
++Ciclos++
interesante el tema ciclos