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