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. 獲取ValueError:Python中的數學域錯誤
- 2. vim - 繼續獲取E17錯誤
- 3. 繼續獲取java.lang.nullexception的錯誤:null
- 4. 繼續錯誤
- 5. 獲取函數繼續
- 6. 繼續使用Excel查找函數獲取錯誤91
- 7. 繼續獲取數據庫不能打開錯誤
- 8. Python數學域錯誤
- 9. ValueError:數學域錯誤
- 10. sqrt:ValueError:數學域錯誤
- 11. 數學域錯誤Python
- 12. python數學域錯誤 - sqrt
- 13. 繼續獲取IndexOutOfRange
- 14. 繼續獲取錯誤:'未捕獲ReferenceError:$未定義'
- 15. RxJs捕獲錯誤並繼續
- 16. 錯誤:符號「(」被取代「VARCHAR2」繼續
- 17. C++繼承獲取錯誤
- 18. 跳過錯誤並在循環中獲取3個錯誤後繼續運行 - 從Pandas獲取價格數據
- 19. 繼續在Rspec中獲取未定義的方法錯誤
- 20. 如何獲取以下代碼以繼續出現錯誤?
- 21. Magento - import - 獲取保存並繼續編輯時的錯誤
- 22. 在恢復視圖階段繼續獲取錯誤
- 23. 繼續獲取「需要明確的包名稱」錯誤
- 24. 繼續獲取部分聲明accessibillity方法錯誤
- 25. Rails無法讓表單工作 - 繼續獲取model_name錯誤?
- 26. Heroku,繼續從Google Web Master工具獲取SSL證書錯誤
- 27. 繼續從Node.js中的HTTP.request獲取錯誤的請求
- 28. IIS 7.0中的MVC3繼續獲取HTTP錯誤404.0 - 未找到
- 29. 繼續獲取[WDS]斷開連接!錯誤
- 30. 繼續使用Angular 2 http發佈請求獲取unsupported_grant_type錯誤
不是隨意添加一些東西,而是添加一個實際問題。 *至少*告訴我們你給你的程序給了什麼輸入,以及你從它得到了什麼樣的** full **錯誤信息。作爲額外的獎勵,*期望的輸出*會很好。 – 2015-02-08 00:50:03
您正試圖獲得負數的平方根,因此_math域error_。 – rodrigo 2015-02-08 00:53:39
他可能試圖計算負數的平方根,這會提示「數值錯誤:數學域錯誤」。 – bconstanzo 2015-02-08 00:54:35