Sqrt 未定义,不知道为什么

问题描述

我收到此错误,但我不太确定为什么要考虑我在那里有导入数学行。

NameError: name 'sqrt' is not defined

import math
x = float(input())
y = float(input())
z = float(input())
print('{:.2f} {:.2f} {:.2f} {:.2f}'.format(pow(x,z),pow(x,pow(y,z)),abs(x - y),sqrt(pow(x,z))))

编辑:我可以通过使用 math.sqrt 解决问题,但我不确定为什么在 pow 和 abs 函数工作时需要它。

解决方法

您必须从 sqrt 导入 math。如果不导入 sqrt,您将无法使用它。
你可以试试这个:

from math import sqrt

或者你也可以这样做:

math.sqrt

pow()abs() 是 Python 中的预定义函数,但 sqrt 不是 Python 中的预定义函数。或者,您可以使用 pow(N,1/2),因为它等效于 sqrt(N)

,

您当前正在导入整个数学库,而实际上并未使用 sqrt 函数。你可以像这样解决这个问题:

import math
x = float(input())
y = float(input())
z = float(input())
print('{:.2f} {:.2f} {:.2f} {:.2f}'.format(pow(x,z),pow(x,pow(y,z)),abs(x - y),math.sqrt(pow(x,z))))