| | | |

Minicurso de Python para Matemáticas

Ayuda a mantener el sitio libre, gratuito y sin publicidad. ¡Colabora!

3.2 Repetición

Las estructuras de repetición son instrucciones que permiten la ejecución repetida de un bloque de comandos. Hay dos instrucciones disponibles while y for.

3.2.1 while

La instrucción while permite la repetición de un bloque de comandos, mientras una condición dada sea verdadera.

Por ejemplo, el siguiente código calcula e imprime los elementos de la secuencia de Fibonacci111Leonardo Fibonacci, 1170 - 1250, matemático italiano. Fuente: Wikipedia: Leonardo Fibonacci., mientras sean menores que 10.

1n = 1
2print(n)
3m = 1
4print(m)
5while (n+m < 10):
6 s = m
7 m += n
8 n = s
9 print(m)

Verifique!

Observación 3.2.1.1.(Instrucciones de control)

Las instrucciones de control break, continue son bastante útiles en varias situaciones. La primera, detiene las repeticiones y, la segunda, salta a una nueva repetición.

Ejercicio 3.2.1.1.

Use while para imprimir los diez primeros números impares.


1i = 1
2c = 0
3while (c < 10):
4 print(i)
5 i += 2
6 c += 1
Ejercicio 3.2.1.2.

Una aplicación del Método Babilónico222Matemática Babilónica, matemática desarrollada en Mesopotamia, desde los Sumerios hasta la caída de Babilonia en 539 a.C.. Fuente: Wikipedia. para la aproximación de la solución de la ecuación x22=0, consiste en la iteración

x0=1, (3.3)
xi+1=xi2+1xi, (3.4)

para i=0,1,2,. Haga un código con while para calcular la aproximación xi, tal que |xi+1xi|<107.


1import math
2x0 = 1.
3x = x0/2 + 1/x0
4while (math.fabs(x - x0) >= 1e-7):
5 x0 = x
6 x = x0/2 + 1/x0
7print(x)

3.2.2 for

La instrucción for permite la ejecución iterada de un bloque de comandos. Dado un objeto iterable, en cada lazo se toma un nuevo elemento del objeto. Por ejemplo, el siguiente código calcula e imprime los primeros 6 elementos de la secuencia de Fibonacci.

1n = 1
2print(f'1: {n}')
3m = 1
4print(f'2: {m}')
5for i in [3,4,5,6]:
6 s = m
7 m += n
8 n = s
9 print(f'{i}: {m}')

¡Verificar!

3.2.3 range

La función range([start,]stop[,sep]) es particularmente útil en la construcción de instrucciones for. Crea un objeto de clase iterable de start (incluido) a stop (excluido), con elementos igualmente separados por sep. Por defecto, start=0, sep=1 si se omiten. Por ejemplo, el código anterior puede reescribirse como sigue.

1n = 1
2print(f'1: {n}')
3m = 1
4print(f'2: {m}')
5for i in range(3,7):
6 s = m
7 m += n
8 n = s
9 print(f'{i}: {m}')

¡Verificar!

Ejercicio 3.2.3.1.

Dado n, desarrolle un código para calcular el valor de la suma armónica

k=1n1k=11+12++1n. (3.5)

1n = 10
2s = 0.
3for i in range(1,n+1):
4 s += 1./i
5print(s)
Ejercicio 3.2.3.2.

Desarrolle un código para calcular el factorial de un número natural dado n. Consejo: use math.factorial para verificar su código.


1n = 5
2fact = 1
3for i in range(1, n+1):
4 fact *= i
5print(fact)

Envía tu comentario

Aprovecho para agradecer a todas/os que de forma asidua o esporádica contribuyen enviando correcciones, sugerencias y críticas.

Opcional. Ingresa tu nombre para que pueda contactarte.
Opcional. Ingresa tu correo electrónico para que pueda contactarte.
La información ingresada se envía por correo electrónico al desarrollador del sitio y se trata de forma privada. Consulta la política de uso de datos para más información.

Licencia Creative Commons
Este texto se publica bajo los términos de la Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional. Los íconos y elementos gráficos pueden estar sujetos a condiciones adicionales.

Pedro H A Konzen
Sitio derivado de notaspedrok.com.br. Contiene traducciones al español realizadas con GitHub Copilot.
| | | |