TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
我在下面的这段代码中找不到我的错误。如果我在 else 部分说 "return" 而不是 "print" ,代码不能执行 else 部分,它只在 if 部分进行计算。我怎样才能解决这个问题?
def calculatePerimeter(length, depth):
if depth == 1:
return 3 * length
else:
print (calculatePerimeter(length, depth-1) * (4/3)**(depth)) / ((4/3)**(depth-1))
calculatePerimeter(100, 3)
您需要 return else
子句中的值,否则没有什么可以相乘(除非在递归中进行最后一次调用)。那么调用函数的时候需要调用print
def calculatePerimeter(length, depth):
if depth == 1:
return 3 * length
else:
return (calculatePerimeter(length, depth-1) * (4/3)**(depth)) / ((4/3)**(depth-1))
print(calculatePerimeter(100, 3))
我在下面的这段代码中找不到我的错误。如果我在 else 部分说 "return" 而不是 "print" ,代码不能执行 else 部分,它只在 if 部分进行计算。我怎样才能解决这个问题?
def calculatePerimeter(length, depth):
if depth == 1:
return 3 * length
else:
print (calculatePerimeter(length, depth-1) * (4/3)**(depth)) / ((4/3)**(depth-1))
calculatePerimeter(100, 3)
您需要 return else
子句中的值,否则没有什么可以相乘(除非在递归中进行最后一次调用)。那么调用函数的时候需要调用print
def calculatePerimeter(length, depth):
if depth == 1:
return 3 * length
else:
return (calculatePerimeter(length, depth-1) * (4/3)**(depth)) / ((4/3)**(depth-1))
print(calculatePerimeter(100, 3))