有人能告訴我爲什麼會出現此錯誤?ValueError:二級公式中的數學域錯誤
Traceback (most recent call last):
File "file.py", line 14, in <module>
p2 = math.sqrt(b*b -4*a*c)
ValueError: math domain error
我是個新手編碼,所以需要一些幫助:)
我的代碼如下所示:
# -*- coding: utf-8 -*-
a = input("¿Qué valor es a?")
while(str(a).isdigit() != True):
a = input("Porfavor, introduce un número para a, no un texto")
b = input("¿Qué valor es b?")
while(str(b).isdigit() != True):
b = input("Porfavor, introduce un número para b, no un texto")
c = input("¿Qué valor es c?")
while(str(c).isdigit() != True):
c = input("Porfavor, introduce un número para c, no un texto")
import math
p1 = b * -1
p2 = math.sqrt(b*b -4*a*c)
p3 = 2*a
s1 = (p1+p2)/p3
s2 = (p1-p2)/p3
print("Soluciones :", s1, " y ", s2)
'math.sqrt'不處理負值... –
您確定執行時輸入的參數a,b和c是否爲有效解決方案? 如果'4 * a * c> b * b'沒有二次方程的解。你應該添加一個檢查IF(4 * a * c> b * b):print(「沒有解決方案」)否則:...' – trashy
@trashy如果您的域名是複數,肯定有解決方案。 –