Python自定义函数运行结果不符合要求,求解

原题目:

img


这是我写的:

#!/usr/bin/env python
def poweren_new(x, n=2):
    print(pow(x, n))
    if n is None:
        n=int(input("请输入一个整数:"))


x = int(input("请输入一个整数:"))
poweren_new(x)

运行结果后发现n的值不能自定义,怎么搞啊?


#!/usr/bin/env python
def poweren_new(x, n=2):
    print(x**n)
 
 
x = int(input("请输入一个整数:x="))
n=input("请输入一个整数:n=")
try:
    n=int(n)
    poweren_new(x, n=n)
except ValueError:
    poweren_new(x)

def poweren_new(x, n=2):
    return x ** n


print(poweren_new(2, 3))