Write a program using a generator to print the even numbers between 0 and n in comma-separated form while n is input by the console

Question:

Please write a program using a generator to print the even numbers between 0 and n in comma-separated form while n is input by the console.

Example:

If the following n is given as input to the program: 10

Then, the output of the program should be: 0,2,4,6,8,10

Hints:

  • Use yield to produce the next value in the generator.
  • In case of input data being supplied to the question, it should be assumed to be a console input.

Solution:

def EvenGenerator(n):
    i=0
    while i<=n:
        if i%2==0:
            yield i
        i+=1


n=int(raw_input())
values = []
for i in EvenGenerator(n):
    values.append(str(i))

print ",".join(values)

Leave a Comment