Sqrt 未定义,不知道为什么

0 python sqrt nameerror

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

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))))
Run Code Online (Sandbox Code Playgroud)

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

Xit*_*tiz 5

您必须sqrtmath. 不导入sqrt就不能使用。
你可以试试这个:

from math import sqrt
Run Code Online (Sandbox Code Playgroud)

或者你也可以这样做:

math.sqrt
Run Code Online (Sandbox Code Playgroud)

pow()abs()是python中的预定义函数,但在pythonsqrt中没有预定义。或者,您可以使用,pow(N, 1/2)因为它相当于sqrt(N)

  • 我不推荐 `from [package] import *`,因为它会污染命名空间。镜像两个同名函数但有两种不同实现的包,通过导入`*`,后者将覆盖前者。 (2认同)