所以我想制作一个程序,说明函数2^n -15 = xt中的n的解是什么,其中n是正整数,xt是平方数。但是,这并不工作:为什么sqrt(xt)无法正常工作? ValueError:数学领域错误
from math import sqrt
n = 0
def is_square(x):
answer = sqrt(x)
return answer.is_integer()
while True:
n += 1
xt = 2^n - 15
if is_square(xt):
print(xt)
错误这样说:当你的参数sqrt
是负数可能发生
Traceback (most recent call last):
File "C:/Users/NemPl/Desktop/Python/Python programi/M/P #1.py", line 9, in <module>
if is_square(xt):
File "C:/Users/NemPl/Desktop/Python/Python programi/M/P #1.py", line 4, in is_square
answer = sqrt(x)
ValueError: math domain error
我怀疑'2^n'确实是你想要的 – polku
(1)插入符号''不计算功率,但是按位异或。要计算权力使用'**'。 (2)你创建了一个无限循环。 Python会继续下去,直到遇到错误。在你的情况下,你早点击,当'2^n-15'马上消失时。为了解决这个问题,定义一个标准来结束循环:'if n> 1000:break'。 – Boldewyn