```
def raise_to_power(base_num, pow_num):
result = 1
i = 1
base_num = float(input("Your base number= "))
pow_num = float(input("Your Power number = "))
if pow_num == 0:
print(result)
else:
while i <= pow_num:
result = result * base_num
i += 1
print(result)
```

When I run the code it’s not even asking for an input, any ideas why?

I played with the indents changed the positioning of the code but that only furthers my problem. I don’t know why it’s not even asking for the input.

### >Solution :

`def raise_to_power`

defines the function for later use. By defining functions you can reuse the code inside the function, in case you need it in multiple places in your script.

Defining a function does not execute it. To execute the function you have to call it. In python (and most other languages) you can do this like this:

`raise_to_power()`

Since your function takes 2 parameters (base_num and pow_num) you have to give the function those. Instead of calling

```
base_num = float(input("Your base number= "))
pow_num = float(input("Your Power number = "))
```

inside the function, you can request the input outside the function and then give those values to the function call as arguments:

```
def raise_to_power(base_num, pow_num):
result = 1
i = 1
if pow_num == 0:
print(result)
else:
while i <= pow_num:
result = result * base_num
i += 1
print(result)
base_num = float(input("Your base number= "))
pow_num = float(input("Your Power number = "))
raise_to_power(base_num, pow_num) # Here we actually call (or execute) the function.
```