# 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:
print(power)
```

Sample Output:

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

Input the base number: 8 Input the exponent: 4 Powers of 8 up to exponent 4: 1 8 64 512 4096

**Explanation:**

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:**

**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.

**It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.**

https://w3resource.com/python-exercises/generators-yield/python-generators-yield-exercise-17.php

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics