while sumatoria suma que pseudocodigo pares numeros los imprimir imprima impares hacer for ejercicios con algoritmo python range

sumatoria - Números pares en Python



sumatoria de numeros pares python (8)

No sé si esto es lo que quieres escuchar, pero es bastante trivial filtrar los valores impares con la comprensión de la lista.

evens = [x for x in range(100) if x%2 == 0]

o

evens = [x for x in range(100) if x&1 == 0]

También puede usar el parámetro de tamaño de paso opcional para que el range cuente hasta 2.

Alguien sabe si Python tiene una función incorporada para trabajar e imprimir valores pares. Como el rango () por ejemplo.

Gracias


Solo usa un paso de 2:

range(start, end, step)


También hay algunas maneras de escribir iteradores infinitos perezosos e infinitos de números pares.

Usaremos el módulo itertools y more_itertools 1 para hacer iteradores que emulen range() .

import itertools as it import more_itertools as mit # Infinite iterators a = it.count(0, 2) b = mit.tabulate(lambda x: 2 * x, 0) c = mit.iterate(lambda x: x + 2, 0)

Todas las últimas opciones pueden generar una secuencia infinita de números pares, 0, 2, 4, 6, ...

Puede tratar estos como cualquier generador haciendo un bucle sobre ellos, o puede seleccionar n números de la secuencia a través de itertools.islice o take de las recetas de itertools, por ejemplo:

mit.take(10, a) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

Esto es equivalente a la list(range(0, 20, 2)) . Sin embargo, a diferencia de range() , el iterador está en pausa y producirá el siguiente lote de números pares si se ejecuta de nuevo:

mit.take(10, a) # [20, 22, 24, 26, 28, 30, 32, 34, 36, 38]

Detalles

Las opciones presentadas son todos los iteradores infinitos que start con un entero, es decir, 0 .

  • a. itertools.count produce el siguiente valor incrementado por un step=2 (ver código equivalente ).
  • segundo. more_itertools.tabulate es una receta de itertools que asigna una función a cada valor de una recta numérica (consulte el código fuente ).
  • do. 1 produce el valor inicial ( 0 ). A continuación, aplica una función al último elemento (incrementando en 2), produce ese resultado y repite este proceso (consulte el código fuente ).

1 Un paquete de terceros que implementa muchas herramientas útiles, incluidas las recetas de itertools , como take y tabulate .


Tratar:

range( 0, 10, 2 )



#This is not suggestible way to code in Python, but it gives a better understanding numbers = range(1,10) even = [] for i in numbers: if i%2 == 0: even.append(i) print (even)


a = [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] b = [i for i in a if i % 2 == 0] print("Original List -->", a,"/n") print("and the Even Numbers-->", b)


>>> if 100 % 2 == 0 : print "even" ... even