Python powers generator: Generate the powers of a number

Python: Generators Yield Exercise-17 with Solution

Write a Python program to create a generator function that generates the powers of a number up to a specified exponent.

Sample Solution:

Python Code:

def power_generator(base, exponent):
    result = 1
    for i in range(exponent + 1):
        yield result
        result *= base

# Accept input from the user
base = int(input("Input the base number: "))
exponent = int(input("Input the exponent: "))

# Create the generator object
power_gen = power_generator(base, exponent)

# Generate and print the powers
print(f"Powers of {base} up to exponent {exponent}:")
for power in power_gen:

Sample Output:

Enter the base number: 2
Enter the exponent: 3
Powers of 2 up to exponent 3:
Input the base number: 8
Input the exponent: 4
Powers of 8 up to exponent 4:


The generator function power_generator() takes a base number and an exponent as parameters. It uses a loop to calculate the powers of the base number, starting from 0 up to the specified exponent. The current power is yielded at each iteration.

We accept user input for the base number and exponent. Then, we create the generator object power_gen by calling the power_generator() function with the provided base and exponent.

Finally, we iterate over the generator and print each power of the base number up to the specified exponent.


Flowchart: Generate the powers of a number.

Python Code Editor:

Contribute your code and comments through Disqus.

Previous: Calculate the average of a sequence.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Follow us on Facebook and Twitter for latest update.