我们的代码允许我们输入一个数字,但是不能让我们找到它的平方根。代码只允许我们平方根完美正方形,还是其他东西。这是代码:
elif a == "Square" or a == "Square please":
print("Please enter a number:")
num1 = int(input())
print("Your answer is:")
answer = sqrt(num1)
print(answer)
这是错误: 你想要平方的数字是多少?:25
显示空白但未回答。
在if语句后面添加数学导入sqrt后,会显示此错误。
Traceback (most recent call last):
File "python", line 236, in <module>
File "python", line 103, in personality
UnboundLocalError: local variable 'sqrt' referenced before assignment
以下是我可以向您展示的所有内容,同时不会影响我正在进行的项目的机密性。
elif a == "Square" or a == "Square please":
from math import sqrt
print("Please enter a number:")
num1 = int(input())
print("Your answer is:")
answer = sqrt(num1)
print(answer)
答案 0 :(得分:3)
您需要使用sqrt
模块中的math
功能。在文件的顶部执行以下操作:
from math import sqrt
或者,使用**
运算符:
answer = num1 ** 0.5
答案 1 :(得分:0)
导入应放在文件的开头。
from math import sqrt
elif a == "Square" or a == "Square please":
num1 = int(input("Please enter a number: "))
print("Your answer is: {}".format(sqrt(num1))
sqrt
适用于int
和float
。
答案 2 :(得分:0)
回复您最新的修改:
UnboundLocalError
指的是函数后面的某个地方,你在名为sqrt
的函数中定义了变量。您必须为从sqrt
导入的math
选择其他名称:
from math import sqrt as SquareRoot
# answer = SquareRoot(9)
或者更改名为sqrt
的函数中的其他变量(您没有告诉我们,所以我可以确定它在哪里)。
我怀疑在您的实际代码中,您做了类似的事情:
def myfunc():
from math import sqrt
print("Please enter a number:")
num1 = int(input())
print("Your answer is:")
answer = sqrt(num1)
print(answer)
sqrt = 100 # something else
# ^ that is what actually is causing the error
另一种可能性是,在您的实际代码中,answer
变量不存在,而是将其命名为sqrt
。