【发布时间】:2019-10-12 07:03:13
【问题描述】:
我正在尝试编写一个计算公式 y=√x*x + 3*x - 500 的程序, 区间为 [x1;x2] 和 f.e x1=15, x2=25。
我尝试使用异常处理,但没有帮助。 我现在尝试使用的代码给了我:ValueError:数学域错误
import math
x1 = int(input("Enter first number:"))
x2 = int(input("Enter second number:"))
print(" x", " y")
for x in range(x1, x2):
formula = math.sqrt(x * x + 3 * x - 500)
if formula < 0:
print("square root cant be negative")
print(x, round(formula, 2))
输出应如下所示:
x y
15 ***
16 ***
17 ***
18 ***
19 ***
20 ***
21 2.00
22 7.07
23 9.90
24 12.17
25 14.14
【问题讨论】:
-
如果您愿意,也可以使用 x**.5 代替 math.sqrt(x)。它将 x 提高到 0.5(一半)的幂。
标签: python math error-handling valueerror sqrt