import math
print ("f(x) = ax2 + bx + c")
# #Get a, b and c from user
aval = float(input("Please Enter (a) value: "))
bval = float(input("Please Enter (b) value: "))
cval = float(input("Please Enter (c) calue: "))
# #Find roots
# THIS IS WERE IT GOES WRONG
root1 = (-(bval) + math.sqrt(bval**2 - 4*aval*cval))
root2 = (-(bval) - math.sqrt(bval**2 - 4*aval*cval))
#Check discriminant
discrim = float((bval**2)-(4*aval*cval))
if float(discrim > 0):
print ("Roots at: ",roo1,root2)
elif float(discrim == 0):
print ("Only one real root: ", root1, root2)
else:
print ("No real Roots.")
-5
A
回答
0
正如其他人所说,你应该打电话sqrt()
只有适当的价值。
所以做的更好
...
#Check discriminant
discrim = float((bval**2)-(4*aval*cval))
if float(discrim >= 0):
# now it is ok to calculate the roots...
root1 = - bval + math.sqrt(discrim)
root2 = - bval - math.sqrt(discrim)
if float(discrim > 0):
print ("Roots at:", root1, root2)
else:
print ("Only one real root:", root1, root2)
else:
print ("No real roots.")
这种方式,我们确信,我们可以调用sqrt
。
+0
感谢这有所帮助 – 2015-02-08 17:37:59
0
您在计算sqrt(bval**2 - 4*aval*cval)
,其中parens中的所有参数都是用户提供的。如果您输入的内容会导致参数为负数,则会发生错误。
相关问题
- 1. 继续错误
- 2. 继续使用Excel查找函数获取错误91
- 3. Python数学域错误
- 4. python数学域错误 - sqrt
- 5. 数学域错误Python
- 6. sqrt:ValueError:数学域错误
- 7. ValueError:数学域错误
- 8. 继续获取IndexOutOfRange
- 9. RxJs捕获错误并继续
- 10. 跳过错误并在循环中获取3个错误后继续运行 - 从Pandas获取价格数据
- 11. Heroku,继续从Google Web Master工具获取SSL证书错误
- 12. 在恢复视图阶段继续获取错误
- 13. IIS 7.0中的MVC3继续获取HTTP错误404.0 - 未找到
- 14. 继续获取[WDS]断开连接!错误
- 15. 继续使用Angular 2 http发布请求获取unsupported_grant_type错误
- 16. 继续获取“需要明确的包名称”错误
- 17. CodeIgniter - 继续SQL错误?
- 18. 错误循环的继续
- 19. 学习Python - 语法错误阻止我在教程中继续
- 20. 数学域错误使用日志
- 21. 数学域错误二次公式
- 22. 带标准差的数学域错误
- 23. 不能耙:数据库迁移 - 继续获取'耙子中止!加载错误'
- 24. 初学C++,指针和继承错误
- 25. 继续使用扫描器获取NoSuchElementException
- 26. UIActionSheet,在继续之前获取clickedButtonIndex?
- 27. 错误时继续执行代码
- 28. PHP忽略错误并继续处理
- 29. Rails的5:record_tag_helper继续给出错误
- 30. 错误,并捆绑无法继续
不是随意添加一些东西,而是添加一个实际问题。 *至少*告诉我们你给你的程序给了什么输入,以及你从它得到了什么样的** full **错误信息。作为额外的奖励,*期望的输出*会很好。 – 2015-02-08 00:50:03
您正试图获得负数的平方根,因此_math域error_。 – rodrigo 2015-02-08 00:53:39
他可能试图计算负数的平方根,这会提示“数值错误:数学域错误”。 – bconstanzo 2015-02-08 00:54:35