Pares Consideremos los números naturales pares, o simplemente

Anuncio
Pares
Consideremos los números naturales pares, o simplemente pares. Los primeros 5 son 2 4 6 8 10. Un programa Python que obtiene
los pares menores que 10,
# pares menores que 10
for
p in range(2, 10, 2):
print(p)
La función range() genera una progresión aritmética que inicia en 2, termina en 10-1 = 9, y va de 2 en 2, o sea, genera los enteros 2 4
6 8, los que nos interesan. Dentro del ciclo for se imprime cada uno de los valores de p, esto es, 2 4 6 8, como queremos.
Si consideramos nuevamente los primeros 5 pares, no disponeos ahora de un tope conocido como en el ejemplo anterior, sino que
tendremos que ir obteniendo números pares e irlos contando hasta que obtengamos 5,
# primeros 5 pares
p = 2 # par
c = 0 # contador
while c < 5:
print(p)
p = p + 2
c = c + 1
Los valores de c van de 0 a 5, pero como con 5 la condición del ciclo es falsa, por lo que es verdadera para c 0 1 2 3 4, cinco valores,
por lo que el ciclo se ejecuta 5 veces, como queremos. Por otro lado, el primero valor que se imprime para p es 2, y luego cuatro
valores pares mas, 4 6 8 10, 5 en total, como deseamos.
Si deseamos que sea el usuario del programa que decida cuantos pares, a partir del 2, desea,
# primeros c pares, c > 1
p = 2 # par
i = 0 # indice
c = int(input()) # cantidad
while i < c:
print(p)
p = p + 2
i = i + 1
Para leer el de c, tope, invocamos la función input() a su vez invocada por la función int. La función input() acepta una cadena
cualquiera de caracteres dada por el teclado (u otro dispositivo al que se redireccione) y la función int() intenta convertir esta
cadena en el número correspondiente. Aquí se asume que el usuario ingresa un número entero mayor que 1. Otra forma en que
podemos obtener los primeros c pares,
# primeros c pares, c > 1
n = 1 # natural
i = 0 # contador
c = int(input()) # cantidad
while i < c:
if n%2 == 0:
print(n)
i = i + 1
n = n + 1
Ahora se empieza a contar los naturales, n, desde 1 y se le va incrementando en 1 en el ciclo, donde también se verifica si el valor de
n deja un residuo de 0 cuando se divide por 2 (n%2 == 0) y en caso de ser así, se imprime el valor actual de n y se incrementa en 1 a i
para llevar la cuenta de cuantos pares van escritos.
Notar que i se incrementa sólo cuando n es par, pero n se incrementa cada vez que se ejecuta el ciclo, por lo que el ciclo se ejecutará
una y otra vez hasta que se obtengan c pares ya que la condición del ciclo es verdadera mientras i sea menor que c.
Si no queremos ir escribiendo los pares a medida que los obtenemos, sino que los queremos guardar para uso posterior, podemos
considerar una función par(),
def priPar(c):
# primeros c pares, c > 1
n = 1 # natural
i = 0 # contador
p = [] # pares
while i < c:
if n%2 == 0:
p.append(n)
i = i + 1
n = n + 1
return p
Ahora se define el arreglo (para guardar más de un valor bajo un mismo nombre) sin valores o vacío (p = [ ] ) para ir añadiendo los
números pares que vayan apareciendo, mediante el método append() (p.append(n)). Al abandonar el ciclo se retorna el arreglo p
completo, que contiene los c pares hallados. Para ver los primeros 5 pares,
p = priPar(5)
print(p)
Y para ver la suma de los pares hallados,
s = sum(p)
print(s)
ecabrera, sdqdr, noviembre 2015
Descargar