Fundamentos de Programación y Python

1

¿Por qué aprender Python?

2

Introducción a Python

3

Conceptos Básicos de Programación

4

Práctica: Te doy la bienvenida a los ejercicios interactivos

5

Manipulación de Cadenas de Texto en Python

6

Enteros, Flotantes y Booleanos

7

Todo lo que Debes Saber sobre print en Python

8

Operaciones Matemáticas en Python

9

Operaciones de Entrada/Salida en Consola

Colección y Procesamiento de Datos en Python

10

Listas

11

Método slice

12

Listas de más dimensiones y Tuplas

13

Aplicación de Matrices

14

Diccionarios

15

Comprehension Lists en Python (CLASE NUEVA)

Control de Flujo en Python

16

Estructuras condicionales

17

Bucles y Control de Iteraciones

18

Generadores e Iteradores

Funciones y Manejo de Excepciones en Python

19

Uso de Funciones en Python

20

Funciones Lambda y Programación Funcional en Python

21

¿Cómo realizar una función recursiva en Python?

22

Manejo de Excepciones y Uso de Pass (CLASE NUEVA)

Programación Orientada a Objetos en Python

23

Fundamentos de Programación Orientada a Objetos en Python

24

Ejercicio Biblioteca con POO

25

Herencia en POO con Python

26

Objetos heredados

27

Los 4 pilares de la programacion orientada a objetos

28

Uso de super() en Python (CLASE NUEVA)

29

Superando los Fundamentos de Programación Orientada a Objetos en Python

Lectura y escritura de archivos

30

Manejo de Archivos .TXT (CLASE NUEVA)

31

Manejo de Archivos CSV (CLASE NUEVA)

32

Manejo de Archivos JSON (CLASE NUEVA)

Biblioteca estándar de Python

33

Librería Statistics y Análisis Estadístico (CLASE NUEVA)

34

Biblioteca estándar en Python (CLASE NUEVA)

35

Librería Os, Math y Random (CLASE NUEVA)

36

Proyecto final: Guerra naval

Conceptos avanzados de Python

37

Recapitulación de lo aprendido hasta ahora

38

Escribir código Pythonico y profesional

39

Comentarios y Docstrings en Python

40

Scope y closures: variables locales y globales

41

Anotaciones de tipo

42

Validación de tipos en métodos

43

Librería Collections y Enumeraciones

Decoradores

44

Decoradores en Python

45

Decoradores anidados y con parámetros

46

Uso de Decoradores en clases y métodos

Métodos y estructura de clases en Python

47

Métodos mágicos

48

Sobrecarga de operadores

49

Implementación de `if __name__ == "__main__":`

50

Metaprogramación en Python

51

Uso de *args y **kwargs

52

Métodos privados y protegidos

53

Gestión avanzada de propiedades

54

Métodos estáticos y de clase avanzados

Programación concurrente y asíncrona

55

Introducción a la concurrencia y paralelismo

56

Threading y multiprocessing en Python

57

Asincronismo con asyncio

58

Asincronismo y concurrencia

Creación de módulos y paquetes

59

Creación de módulos en Python

60

Gestión de paquetes

61

Publicación de paquetes en PyPI

Proyecto final

62

Implementación de un sistema completo

63

Implementación de un Sistema Completo

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Python

Curso de Python

Carli Code

Carli Code

Bucles y Control de Iteraciones

17/63
Recursos

Aprender a automatizar el proceso de iteración en listas utilizando bucles y controles de iteración es fundamental para optimizar el manejo de datos en Python.

¿Cómo iterar una lista usando un bucle for?

Para iterar sobre una colección de datos, podemos usar un bucle for. Aquí se muestra cómo acceder a cada elemento de una lista de números del 1 al 6:

numbers = [1, 2, 3, 4, 5, 6]
for i in numbers:
    print(f"i es igual a: {i}")

En este ejemplo, i representa cada elemento de la lista numbers.

¿Cómo iterar usando la función range?

La función range permite generar una secuencia de números. Se puede especificar el inicio, el fin y el paso:

for i in range(10):
    print(i)  # Imprime del 0 al 9

for i in range(3, 10):
    print(i)  # Imprime del 3 al 9

¿Cómo usar condicionales dentro de un bucle for?

Se pueden incluir condicionales dentro del bucle for para realizar operaciones específicas:

frutas = ["manzana", "pera", "uva", "naranja", "tomate"]
for fruta in frutas:
    if fruta == "naranja":
        print("naranja encontrada")
    print(fruta)

¿Cómo funciona el bucle while?

El bucle while ejecuta un bloque de código mientras se cumpla una condición:

x = 0
while x < 5:
    print(x)
    x += 1

¿Qué hacer para evitar bucles infinitos?

Es importante modificar la condición dentro del bucle while para evitar que se ejecute indefinidamente:

x = 0
while x < 5:
    print(x)
    x += 1

¿Cómo usar break y continue en bucles?

La palabra clave break se utiliza para salir del bucle prematuramente, mientras que continue omite la iteración actual y pasa a la siguiente:

for i in numbers:
    if i == 3:
        break
    print(i)  # Termina al llegar a 3

for i in numbers:
    if i == 3:
        continue
    print(i)  # Omite el 3

Aportes 34

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

`range` genera un iterable (lista) con los valores de inicio inclusivo y final exclusivo. Si se pasa solo un valor como iniciara en 0 (inclusivo) y terminará en el valor pasado por parámetro menos 1. Si se le pasa dos parámetros el primero sera el inicio (inclusivo) y el segundo sera el final menos 1 Si se le pasa un tercer parámetro sera el step o número de saltos. ![](https://static.platzi.com/media/user_upload/Screenshot_20240701_112402-eb4df63c-2700-430b-bfb6-db07de605889.jpg)
# Menú Interactivo con Bucle Infinito Ejemplo de un menú interactivo que utiliza un bucle infinito para permitir múltiples interacciones hasta que el usuario decida salir. ```js def mostrar_menu(): print("\nMenú:") print("1. Opción 1") print("2. Opción 2") print("3. Opción 3") print("4. Salir") while True: mostrar_menu() opcion = input("Elige una opción (1-4): ") if opcion == "1": print("Has elegido la Opción 1") elif opcion == "2": print("Has elegido la Opción 2") elif opcion == "3": print("Has elegido la Opción 3") elif opcion == "4": print("Saliendo del programa...") break else: print("Opción no válida. Inténtalo de nuevo.") ``` * **Función** `mostrar_menu`: Esta función imprime el menú de opciones. * **Bucle** `while True`: El bucle se ejecuta indefinidamente. * **Condiciones Internas**: Se utiliza `if`, `elif` y `else` para manejar las opciones del usuario. * **Condición de Salida**: Si el usuario elige la opción "4", se utiliza `break` para salir del bucle.
### Bucle `for` en Python: El bucle for elemento in secuencia: # Bloque de código a ejecutar repetidamente # Puedes utilizar el elemento actual (elemento) en el bloque de códigoEn cada iteración, `elemento` toma el valor del siguiente elemento de la `secuencia` y se ejecuta el bloque de código asociado. El bucle `for` termina cuando se agotan los elementos en la secuencia.`for` se utiliza para iterar sobre una secuencia (como una lista, tupla, diccionario, conjunto o cadena) o cualquier objeto iterable. La sintaxis general es: ```js for elemento in secuencia: # Bloque de código a ejecutar repetidamente # Puedes utilizar el elemento actual (elemento) en el bloque de código ``` En cada iteración, `elemento` toma el valor del siguiente elemento de la `secuencia` y se ejecuta el bloque de código asociado. El bucle `for` termina cuando se agotan los elementos en la secuencia. ### Ejemplo de bucle # Iterar sobre una lista de nombres e imprimir cada nombre nombres = \["Juan", "María", "Carlos", "Ana"] for nombre in nombres: print(nombre) # Calcular la suma de los primeros 5 números naturales suma = 0 for num in range(1, 6): # range(1, 6) genera números desde 1 hasta 5 suma += num print("La suma de los primeros 5 números naturales es:", suma)`for`: ```js # Iterar sobre una lista de nombres e imprimir cada nombre nombres = ["Juan", "María", "Carlos", "Ana"] for nombre in nombres: print(nombre) # Calcular la suma de los primeros 5 números naturales suma = 0 for num in range(1, 6): # range(1, 6) genera números desde 1 hasta 5 suma += num print("La suma de los primeros 5 números naturales es:", suma) ``` En este ejemplo: * El primer bucle `for` itera sobre la lista `nombres` e imprime cada nombre en la lista. * El segundo bucle `for` utiliza `range(1, 6)` para generar números del 1 al 5, y calcula la suma de estos números. ### Bucle `while` en Python: El bucle `while` se utiliza para ejecutar un bloque de código mientras una condición especificada sea verdadera. La sintaxis general es: ```js while condicion: # Bloque de código a ejecutar repetidamente # La condición se evalúa antes de cada iteración ``` El bloque de código dentro del bucle `while` se ejecuta repetidamente siempre que `condicion` sea verdadera. Si en algún momento la condición se evalúa como falsa, el bucle `while` termina y la ejecución continúa con el código después del bucle. ### Ejemplo de bucle `while`: ### ```js # Contador hasta 5 usando un bucle while contador = 1 while contador <= 5: print(contador) contador += 1 # Incrementa el contador en cada iteración # Sumar números ingresados por el usuario hasta que se ingrese un cero suma = 0 num = int(input("Ingrese un número (o 0 para salir): ")) while num != 0: suma += num num = int(input("Ingrese otro número (o 0 para salir): ")) print("La suma de los números ingresados es:", suma) ``` En este ejemplo: * El primer bucle `while` cuenta del 1 al 5 e imprime cada número. * El segundo bucle `while` solicita al usuario ingresar números y suma esos números hasta que se ingrese un cero.
Los \*\*bucles\*\* y el \*\*control de iteraciones\*\* son herramientas fundamentales en la programación que te permiten ejecutar un bloque de código repetidamente. Python ofrece varios tipos de bucles y mecanismos para controlar cómo se ejecutan estas iteraciones. \### Tipos de Bucles 1\. \*\*`for`\*\*: Se utiliza para iterar sobre una secuencia (como una lista, tupla, diccionario, conjunto o cadena) o sobre un rango de números. 2\. \*\*`while`\*\*: Repite un bloque de código mientras una condición dada sea `True`. \### Bucle `for` El bucle `for` en Python es ideal para iterar sobre los elementos de una secuencia. La sintaxis básica es la siguiente: ```python for elemento in secuencia: \# Bloque de código a ejecutar ``` \#### Ejemplo: Iterar sobre una lista ```python numeros = \[1, 2, 3, 4, 5] for numero in numeros: print(numero) ``` En este ejemplo, el bucle `for` recorre la lista `numeros` y `numero` toma el valor de cada elemento en la lista durante cada iteración. \#### Ejemplo: Usando `range()` La función `range()` se utiliza comúnmente con `for` para generar una secuencia de números. ```python for i in range(5): # Esto genera los números 0 a 4 print(i) ``` El código anterior imprime los números del 0 al 4. También puedes especificar un inicio, fin y un paso: ```python for i in range(1, 10, 2): print(i) \# Salida: 1, 3, 5, 7, 9 ``` \### Bucle `while` El bucle `while` repite un bloque de código mientras una condición sea `True`. La sintaxis básica es: ```python while condición: \# Bloque de código a ejecutar ``` \#### Ejemplo: Contador con `while` ```python contador = 0 while contador < 5: print(contador) contador += 1 ``` Este código comienza con `contador = 0` y sigue incrementándolo hasta que llega a 5. En cada iteración, se imprime el valor actual de `contador`. \### Control de Iteraciones Python ofrece varias formas de controlar la ejecución de bucles: 1\. \*\*`break`\*\*: Termina el bucle inmediatamente. 2\. \*\*`continue`\*\*: Salta la iteración actual y pasa a la siguiente. 3\. \*\*`else`\*\*: Un bloque que se ejecuta cuando el bucle termina de manera normal, es decir, sin que se haya usado `break`. \#### Ejemplo: Uso de `break` ```python for i in range(10): if i == 5: break print(i) \# Salida: 0, 1, 2, 3, 4 ``` El bucle se detiene cuando `i` llega a 5, debido a la instrucción `break`. \#### Ejemplo: Uso de `continue` ```python for i in range(10): if i % 2 == 0: continue print(i) \# Salida: 1, 3, 5, 7, 9 ``` Aquí, `continue` hace que el bucle salte la iteración actual si `i` es par, por lo que solo se imprimen los números impares. \#### Ejemplo: Uso de `else` con Bucles El bloque `else` en un bucle se ejecuta solo si el bucle no se interrumpe con `break`. ```python for i in range(5): print(i) else: print("Bucle completado.") \# Salida: \# 0 \# 1 \# 2 \# 3 \# 4 \# Bucle completado. ``` Si el bucle se completa sin interrupciones, se ejecuta el bloque `else`. Sin embargo, si se usa `break`, el bloque `else` se omite. \#### Ejemplo: `else` con `break` ```python for i in range(5): if i == 3: break print(i) else: print("Bucle completado.") \# Salida: \# 0 \# 1 \# 2 ``` En este caso, como el bucle se interrumpe con `break` cuando `i` es igual a 3, el bloque `else` no se ejecuta. \### Bucles Anidados Puedes anidar bucles dentro de otros bucles para trabajar con estructuras de datos más complejas, como matrices. ```python for i in range(3): for j in range(2): print(f"i = {i}, j = {j}") ``` Este código tiene un bucle `for` dentro de otro `for`. Para cada valor de `i`, el bucle interno recorre todos los valores de `j`. \### Bucles Infinito con `while` Si la condición de un `while` siempre es verdadera, el bucle se ejecutará indefinidamente. Esto se conoce como un bucle infinito. ```python while True: respuesta = input("¿Quieres salir? (s/n): ") if respuesta == 's': break ``` Este ejemplo sigue preguntando al usuario si quiere salir hasta que la respuesta sea `'s'`. \--- Estos son los fundamentos de los bucles y el control de iteraciones en Python. Son herramientas esenciales para ejecutar tareas repetitivas y para gestionar la lógica de flujo en tus programas.
donde encuentro ejercicios para practicar? estos deberian ser proveidos por platzi
Las estructuras de programación son herramientas que nos permiten repetir un conjunto de instrucciones hasta que se cumpla una condición. Los bucles son fundamentales en programación y se utilizan para automatizar tareas repetitivas. El bucle for en se utiliza para iterar sobre una secuencia como una lista, una tupla o un rango.
while true es una mala práctica, solo escribir while: y lo que sigue hace lo mismo
Mi aporte
mi aporte ![](https://static.platzi.com/media/user_upload/ciclos-f6c0b31b-b20b-40ec-b512-2c4bc15203d4.jpg)
El uso de bucles `while` en desarrollos profesionales puede ser menos común en comparación con `for` debido a varias razones. Los bucles `while` son más propensos a generar errores como bucles infinitos si no se gestionan correctamente. En cambio, los bucles `for` son más legibles y controlables, especialmente al iterar sobre colecciones conocidas, como listas o rangos. Esto facilita la comprensión del código y reduce riesgos en el mantenimiento. En entornos profesionales, la claridad y la seguridad en el código son primordiales.
Aquí tienes algunos ejemplos de ejercicios para repasar bucles y control de iteraciones en Python: 1. **Imprimir números del 1 al 10**: Usa un bucle `for` para imprimir todos los números del 1 al 10. ```python for i in range(1, 11): print(i) ``` 2. **Suma de números en una lista**: Crea una lista con algunos números y usa un bucle `for` para calcular la suma total. ```python numeros = [1, 2, 3, 4, 5] suma = 0 for num in numeros: suma += num print(suma) ``` 3. **Encontrar un elemento en una lista**: Usa un bucle `for` para buscar un elemento específico (por ejemplo, "naranja") en una lista de frutas. ```python frutas = ["manzana", "pera", "uva", "naranja"] for fruta in frutas: if fruta == "naranja": print("Naranja encontrada") ``` 4. **Contar hasta 5 usando `while`**: Usa un bucle `while` para imprimir números del 1 al 5. ```python x = 1 while x <= 5: print(x) x += 1 ``` 5. **Ejercicio de `continue`**: Crea un bucle `for` que imprima los números del 1 al 10, pero omita el número 5. ```python for i in range(1, 11): if i == 5: continue print(i) ``` Realiza estos ejercicios para consolidar tu comprensión sobre bucles y control de iteraciones en Python.
el uso de estructuras como for y while para recorrer colecciones de datos, como listas. Carli explica cómo manipular los elementos durante la iteración, realizar operaciones específicas y gestionar el flujo del bucle utilizando las instrucciones break y continue. Además, destaca la importancia de la práctica para dominar estos conceptos fundamentales y aplicarlos eficazmente en diversas situaciones.
Wow Carli eres la primera profesora con la que por fin logro entender el for a la perfección. Y eso que he visto vaaaaaaaarios videos en youtube y cursos anteriores de platzi
Me gustan los ejemplos muy prácticos.
Para este caso no solo represente un arreglo de 1 sola dimensión y también una matriz, para darme una mejor idea del funcionamiento. ```js arr = [1,2,3,4,5] for i in arr: print(i) print("Aqui inicia el while \n") x = 0 while x < len(arr): print(arr[x]) x += 1 # arreglos de 2 dimensiones arr_2d = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]] print(f"Arreglo en 2d {arr_2d} \n") for i in arr_2d: print("Esto es i: ", i) for j in i: print("Esto es j:", j) if j == 3: break ```arr = \[1,2,3,4,5]for i in arr:    print(i) print("Aqui inicia el while \n") x = 0while x < len(arr):    print(arr\[x])    x += 1 \# arreglos de 2 dimensiones arr\_2d = \[\[1, 2, 3, 4, 5],          \[6, 7, 8, 9, 10]] print(f"Arreglo en 2d {arr\_2d} \n")for i in arr\_2d:    print("Esto es i: ", i)    for j in i:        print("Esto es j:", j)        if j == 3:            break
```python #Juego de piedra Papel o Tijera en consola. player1_wins = 0 player2_wins = 0 while player1_wins < 3 and player2_wins < 3: player1_move = input("Movimiento jugador 1").capitalize() player2_move = input("Movimineto jugador 2").capitalize() if player1_move == "Tijera" and player2_move == "Papel" or\ player1_move == "Piedra" and player2_move == "Tijera" or\ player1_move == "Papel" and player2_move == "Piedra": player1_wins = player1_wins +1 print("Gana jugador 1") print("Marcador es Jugador 1: ", player1_wins, "jugador 2: ", player2_wins) elif player2_move == "Tijera" and player2_move == "Papel" or\ player2_move == " Piedra" and player1_move == "Tijera" or\ player2_move == "Papel" and player1_move == "Piedra": player2_wins = player2_wins +1 print("Gana jugador 2") print("Marcador es Jugador 1", player1_wins, "Jugador 2", player2_wins) else: print("empate") if player2_wins > player1_wins: print("GANA 2") elif player1_wins > player2_wins: print("GANA 1") ```
mi sugerencia hasta lo que he mirado del curso, es que seria bueno que den un acercamiento a la documentación oficial de Python, y los ejemplos que se muestren en el para que cualquier alumno pueda autogestionarse en caso de que no entiendan a la profesora.
```python saldo = 50000 Retiro = 278 while saldo > 0: print(f'Tu saldo es de: {saldo}') saldo -= Retiro if saldo < Retiro: print(f'Saldo infuciencite, solo tienes: {saldo}') break ```saldo = 50000Retiro = 278 while saldo > 0:    print(f'Tu saldo es de: {saldo}')    saldo -= Retiro    if saldo < Retiro:        print(f'Saldo infuciencite, solo tienes: {saldo}')        break
```python import random #Game: Rock, paper, scissors def main (): list_options = ["rock", "paper", "scissors"] while True: user_selection= input("Choose one option -rock, paper, scissors-: ") #If the user's input is validated, the game starts. if format_validation (user_selection, list_options) == True: machine_selection = random.choice(list_options) print ("The machine selection is:", machine_selection) print ("***") #user = user.lower() if user_selection == machine_selection: print ("it's a tie, both win!") elif user_selection == "rock" and machine_selection =="paper": print("The machine wone! Try again!") elif user_selection == "rock" and machine_selection =="scissors": print("You wone!") elif user_selection == "paper" and machine_selection == "scissors": print("The machine wone! Try again!") elif user_selection == "paper" and machine_selection == "rock": print("You wone!") elif user_selection == "scissors" and machine_selection == "rock": print("The machine wone! Try again!") else: print("You wone!") else: print ("***") print("Your choice is not valid. Please, choose one of this options -rock, paper, scissors-: ") print("***") #A function that validates user input and filters out text that differs from the text used in the game." def format_validation (user_selection, list_options): if user_selection.lower() in list_options: return True else: return False if __name__ == "__main__": main() ```
Los **bucles** permiten ejecutar un bloque de código varias veces. En Python, los más comunes son `for` y `while`. * **for**: Recorre una secuencia (como una lista o rango) y ejecuta el código para cada elemento. * **while**: Repite el código mientras una condición sea verdadera. El **control de iteraciones** usa las palabras clave: * **break**: Termina el bucle antes de tiempo. * **continue**: Salta al siguiente ciclo del bucle, sin ejecutar el resto del código en esa iteración.
hola soy nuevo una pregunta es normal llegar a esta clase y no entender aun nada soy muy nuevo pero quiero aprender aun creo que estoy un poco mal alguien mas le ha pasado
Profe me causo curiosidad que herramienta de white boarding estabas usando?
x = 0while x < 100:    if x == 75:        print("Hemos llegado a 75, pero continuamos hasta 100")    print(x)    x += 1
`#LA FUNCIÓN RANGE()` `#Para un solo argumento:` `# range(ultimo) por defecto el primer valor será = 0 y avanza de 1 en 1 ` `for i in range(5): ` `print(i) # 1, 2, 3, 4` `#Para dos argumentos:` `#range(primero, ultimo) por defecto avanza de 1 en 1` `for i in range(4,11): ` `print(i) # 4, 5, 6, 7, 8, 9, 10` `#Para tres argumentos:` `#range(primero, ultimo, salto)` `for i in range(1,11,3): ` `print(i) # 1, 4, 7 ,10`
Aca fui volviendo mas dificil el ejercicio, comence con una multiplicación sencilla para que me de la tabla, y luego fui a que me de el factorial del numero, a lo que pase a doble factorial.#Ejericio 1## Tabla de multiplicar de cualquier númeronumero = input("Ingrese un número: ")print("La tabla de multiplicar de", numero, 'es: ') if numero.isdigit():    numero = int(numero)    for i in range(3):        print(numero, 'x', i, '=', numero\*i) \# Ejercicio 2## Calcula el factorial de un número factor = input("Ingresa un número para calcular su factorial: ") print("El factorial de", factor, "es: ") if factor.isdigit():    factor = int(factor) # Se convierte el número a entero    factorial = 1e0 # Se inicializa el factorial en 1e0, se coloca el e0 para que empieze desde exponente 1 que es el mismo número.    for i in range(1, factor+1): # Se recorre el rango del número ingresado        factorial \*= i # Se calcula el factorial            print(factorial) # Se imprime los numeros factoriales del número ingresado    # Ejercicio 3## Calcular el numero de doble factorialde un número factor = input('ingresa un numero para el n!!: ') print('El doble factorial de', factor, 'es: ') if factor.isdigit():    factor = int(factor) # Se convierte el número a entero    factorial = 1e0 # Se incia el factorial en 1        #Para numeros pares    if factor % 2 == 0: # Se verifica si el número es par        for i in range(factor, 0, -2): # El factorial se calcula de manera descendente comenzando desde el número ingresado y se decrementa de 2 en 2            factorial \*= i # Se calcula el factorial            #Para numeros impares    else:        for i in range(factor, 0, -2): # El factorial se calcula de manera descendente comenzando desde el número ingresado y se decrementa de 2 en 2            factorial \*= i # Se calcula el factorial            print(factorial)    ```js #Ejericio 1 ## Tabla de multiplicar de cualquier número numero = input("Ingrese un número: ") print("La tabla de multiplicar de", numero, 'es: ') if numero.isdigit(): numero = int(numero) for i in range(3): print(numero, 'x', i, '=', numero*i) # Ejercicio 2 ## Calcula el factorial de un número factor = input("Ingresa un número para calcular su factorial: ") print("El factorial de", factor, "es: ") if factor.isdigit(): factor = int(factor) # Se convierte el número a entero factorial = 1e0 # Se inicializa el factorial en 1e0, se coloca el e0 para que empieze desde exponente 1 que es el mismo número. for i in range(1, factor+1): # Se recorre el rango del número ingresado factorial *= i # Se calcula el factorial print(factorial) # Se imprime los numeros factoriales del número ingresado # Ejercicio 3 ## Calcular el numero de doble factorialde un número factor = input('ingresa un numero para el n!!: ') print('El doble factorial de', factor, 'es: ') if factor.isdigit(): factor = int(factor) # Se convierte el número a entero factorial = 1e0 # Se incia el factorial en 1 #Para numeros pares if factor % 2 == 0: # Se verifica si el número es par for i in range(factor, 0, -2): # El factorial se calcula de manera descendente comenzando desde el número ingresado y se decrementa de 2 en 2 factorial *= i # Se calcula el factorial #Para numeros impares else: for i in range(factor, 0, -2): # El factorial se calcula de manera descendente comenzando desde el número ingresado y se decrementa de 2 en 2 factorial *= i # Se calcula el factorial print(factorial) ```
¿Qué se vió en la sesión? **While** Control + C (para parar la terminal) **Range** **Continue** **Breake**
![](https://static.platzi.com/media/user_upload/image-62d992a8-7824-42bc-8c93-bd0f41a242d8.jpg)
El ejercicio unicial de frutas con 'break' al final, para al encontrar la fruta. ```js frutas = ['mango', 'pera', 'manzana', 'uva', 'lulo', 'piña', 'fresa'] for fruta in frutas: print(fruta) if fruta=='lulo': print('lulo encontrado') break ```
```js while True: question = input("Adivina el dia de la semana favorito: ").lower() if question == 'jueves': print("adivinaste") break else: ("Intentalo de nuevo") #Bucle while True: Esto crea un bucle infinito que solo se #detendrá cuando se encuentre una instrucción break. # Convertir la entrada a minúsculas: dia.lower() convierte la entrada a # minúsculas para que la comparación sea insensible a mayúsculas. ```while True:   question = input("Adivina el dia de la semana favorito: ").lower()   if question == 'jueves':      print("adivinaste")      break   else:      ("Intentalo de nuevo")  #Bucle while True: Esto crea un bucle infinito que solo se #detendrá cuando se encuentre una instrucción break. \# Convertir la entrada a minúsculas: dia.lower() convierte la entrada a#  minúsculas para que la comparación sea insensible a mayúsculas.
Range además de generar un iterable, existe untercer parámetro en el que se puede especificar la longitud de los "saltos" que queremos que range haga por cada iteración dentro de cualquierblucle, ya sea for, while. Recuerda que dentro del rango especificado conel primer y segundo parámetro range toma en cuenta los números contenidos entre el primer parámetro y el segundo parametro menos 1. Osea que si especificamos de 0 a 9, solo se tomaran en cuenta los números del 0 al 8. Osea que si:x = primer parametro, z = segundo parametro Entonces el rango de número será entre: x y (z-1) Ejemplo en código: ```js for i in range(0 ,9, 2): print(i) ```*Resultado: 012468*
Apuntes y codigo: ```python #Bucles y control e Iteraciones #ya vimos que en la listas hay informacion que puede ser cinsultada con la indexacion o con el slicing #Sin envago hay una forma de automatizar el ñroceso cuando lo quermos hacer de manera iterable #Para eso se utilizan lo bucles o controles de iteracion #EJEMPLO # en una lista [1,2,3,4,5,6,7,8,9,10] #Si quieo buscar infrmacion dentro tendre que moverme eir almacendo informacion para saber donde estoy #POS ser para la posicion #VAL sera para su contenido o valor # en la lista del ejemplo el uno esta en POS=0 pero du VAL="1" numbers =[0,1,2,3,4,5,6,7,8,9,10] for i in numbers: #sin novedad se utiliza como un for en progra, solo no olvidemos los puntos y la identación if i == 3: continue print ("Aqui 1 es igual ", i+1) for i in range(10): print(i) for x in range(2,9): print(i) fruits = ["manzana", "uva", "mando","naranja", "lima", "mandarina"] for fruit in fruits: print(fruit) if fruit == "Naranja": print("naranja encontrada") w=0 while w<5: #while es un mientras y se utiliza como siempre, solo no olvidemos los : a final, si no al dar enter no hace identacion if w == 3: #se agrega una condicion como cualquier otra de if que si se cumple break #Hace que estre break pare el while y si no hay otra isntruccion se sale print(w) #w = w+1 w +=1 # metodo abreviado de w = w +1 ```#Bucles y control e Iteraciones#ya vimos que en la listas hay informacion  que puede ser cinsultada con la indexacion o con el slicing#Sin envago hay una forma de automatizar el ñroceso cuando lo quermos hacer de manera iterable#Para eso se utilizan lo bucles o controles de iteracion \#EJEMPLO# en una lista \[1,2,3,4,5,6,7,8,9,10]#Si quieo buscar infrmacion dentro tendre que moverme eir almacendo informacion para saber donde estoy#POS ser para la posicion#VAL sera para su contenido o valor# en la lista del ejemplo el uno esta en POS=0 pero du VAL="1"numbers =\[0,1,2,3,4,5,6,7,8,9,10] for i in numbers: #sin novedad se utiliza como un for en progra, solo no olvidemos los puntos y la identación    if i == 3:        continue     print ("Aqui 1 es igual ", i+1)     for i in range(10):        print(i)     for x in range(2,9):        print(i)     fruits = \["manzana", "uva", "mando","naranja", "lima", "mandarina"]    for fruit in fruits:        print(fruit)            if fruit == "Naranja":            print("naranja encontrada")     w=0    while  w<5: #while es un mientras y se utiliza como siempre, solo no olvidemos los : a final, si no al dar enter no hace identacion        if w == 3:  #se agrega una condicion como cualquier otra de if  que si se cumple            break   #Hace que estre break pare el while y si no hay otra isntruccion se sale        print(w)        #w = w+1        w +=1 # metodo abreviado de w = w +1
\#Juego de piedra Papel o Tijera en consola. player1\_wins = 0player2\_wins = 0 while player1\_wins < 3 and player2\_wins < 3: player1\_move = input("Movimiento jugador 1").capitalize() player2\_move = input("Movimineto jugador 2").capitalize() if player1\_move == "Tijera" and player2\_move == "Papel" or\ player1\_move == "Piedra" and player2\_move == "Tijera" or\ player1\_move == "Papel" and player2\_move == "Piedra": player1\_wins = player1\_wins +1 print("Gana jugador 1") print("Marcador es Jugador 1: ", player1\_wins, "jugador 2: ", player2\_wins) elif player2\_move == "Tijera" and player2\_move == "Papel" or\ player2\_move == " Piedra" and player1\_move == "Tijera" or\ player2\_move == "Papel" and player1\_move == "Piedra": player2\_wins = player2\_wins +1 print("Gana jugador 2") print("Marcador es Jugador 1", player1\_wins, "Jugador 2", player2\_wins) else: print("empate") if player2\_wins > player1\_wins: print("GANA 2")elif player1\_wins > player2\_wins: print("GANA 1")
\## bucles y controles de iteracion numbers = \[1,2,3,4,5,6] for i in numbers: print("Aqui is es igual a ", i+1) for i in range (3,10): print(i) fruits = \["Manzana","Pera","uva","Naranja","Tomate"] for fruit in fruits: if fruit =="Naranja": print("Naranja encontrada") x = 0 while x<5: if x == 3: break print(x) x+=1 numbers = \[1,2,3,4,5,6] for i in numbers: if i == 3: continue print("Aqui i es igual a: ", i)