A. python怎麼求解一元二次方程的根
import numpy as np
def solve_quad(a,b,c):
if a == 0:
print('您輸入的不是二次方程!')
else:
delta = b*b-4*a*c
x = -b/(2*a)
if delta == 0:
print('方程有惟一解,X=%f'%(x))
return x
elif delta > 0:
x1 = x-np.sqrt(delta)/(2*a)
x2 = x+np.sqrt(delta)/(2*a)
print('方程有兩個實根:X1=%f,X2=%f'%(x1,x2))
return x1,x2
else:
x1 = (-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)
x2 = (-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)
print(x1,x2)
return x1,x2
Python
是完全面向對象的語言。函數、模塊、數字、字元串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標准庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。
B. 怎麼用python解一元二次方程
importmath
#2x**2+3*x+0=0
defquadratic_equation(a,b,c):
t=math.sqrt(pow(b,2)-4*a*c)
if(pow(b,2)-4*a*c)>0:
return(-b+t)/(2*a),(-b-t)/(2*a)
elif(pow(b,2)-4*a*c)==0:
return(-b+t)/(2*a)
else:
returnNone
printquadratic_equation(2,3,0)
C. 怎麼用python解一元二次方程,用判斷語句
import math#2x**2+3*x+0 = 0def quadratic_equation(a, b, c): t = math.sqrt(pow(b, 2) - 4 * a * c) if(pow(b, 2) - 4 * a * c) > 0: return (-b + t) / (2 * a), (-b - t) / (2 * a) elif (pow(b, 2) - 4 * a * c) == 0: return (-b + t) / (2 * a) else: return Noneprint quadratic_equation(2, 3, 0)
D. 如何循環python解一元二次方程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np
def solve_quad(a,b,c):
if a == 0:
print('您輸入的不是二次方程!')
else:
delta = b*b-4*a*c
x = -b/(2*a)
if delta == 0:
print('方程有惟一解,X=%f'%(x))
return x
elif delta > 0:
x1 = x-np.sqrt(delta)/(2*a)
x2 = x+np.sqrt(delta)/(2*a)
print('方程有兩個實根:X1=%f,X2=%f'%(x1,x2))
return x1,x2
else:
x1 = (-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)
x2 = (-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)
print('方程有兩個虛根,如下所示:')
print(x1,x2)
return x1,x2
E. 用python求二元一次方程的根,顯示math domain error,錯在哪
樓上說的非常正確,給大家個參考程序吧,我也正遇到過,使用Python的錯誤判斷輸出結果就可以了
importmath
defcalcRoot(a,b,c):
#a,b,c=int(a),int(b),int(c)
try:
value=b**2-4*a*c#b*b-4*a*c
sq=math.sqrt(value)
x1=(-b+sq)/(2*a)
x2=(-b-sq)/(2*a)
ifx1==x2:
#returnx1
print('x1=x2=%.2f'%x1)
else:
#return'%.2f'%x1,round(x2,2)
print('x1=%.2f x2=%.2f'%(x1,x2))
except:
print('該方程無根')
calcRoot(13,-100,31)
#print(re)
運行以上程序,就能看到下面效果了;輸出加了格式化,否則輸出的是一長串浮點數
F. 用python如何得到一個方程的多個解
方法/步驟
用Python解數學方程,需要用到Python的一個庫——SymPy庫。
SymPy是符號數學的Python庫,它的目標是成為一個全功能的計算機代數系統,同時保持代碼簡潔、易於理解和擴展。
如果你的電腦上還沒有安裝sympy庫,那就趕緊安裝吧,安裝命令:
pip3 install sympy
G. 如何用python編程求解二元一次方程組。如x+y=3;x-y=1
利用 numpy 很簡單。可以利用pip安裝
pipinstallnumpy
然後(以你的方程為例),python 下
Python2.7.10(default,Oct232015,19:19:21)
[GCC4.2.1CompatibleAppleLLVM7.0.0(clang-700.0.59.5)]ondarwin
Type"help","right","credits"or"license"formoreinformation.
>>>importnumpyasnp
>>>a=np.array([[1,1],[1,-1]])
>>>b=np.array([3,1])
>>>printnp.linalg.solve(a,b)
[2.1.]
如果你學過 線性代數,那麼這段代碼很好理解。
H. 用python求一元二次方程的解
編程最好的方法就是實踐,當你能處理絕大多數例子之後,你會發現很多難懂的概念也就自然的解決了。python編程最好的方法就是實踐,當你能處理絕大多數例子之後,你會發現很多難懂的概念也就自然的解決了。
一元二次方程為:ax^2+bx+c=0
我們先編寫一個最簡單的版本,我們成功的計算除了數值。下面這個程序不適合復數形式
I. python求解二元一次方程組(行列式)編一個程序
#a1x+b1y=c1
#a2x+b2y=c2
defsolve(a1,b1,c1,a2,b2,c2):
ifa1==0anda2!=0:
x=(c2-b2*c1/b1)/a2
y=c1/b1
elifa1!=0anda2==0:
x=(c1-b1*c2/b2)/a2
y=c2/b2
elifb1==0andb2!=0:
x=c1/a1
y=(c2-a2*c1/a1)/b2
elifb1!=0andb2==0:
x=c2/a2
y=(c1-a1*c2/a2)/b1
ifa1*b2-a2*b1!=0:
x=(b2*c1-b1*c2)/(a1*b2-a2*b1)
y=(a1*c2-a2*c1)/(a1*b2-a2*b1)
else:
x='error'
y='error'
returnx,y
a1=int(raw_input('a1='))
b1=int(raw_input('b1='))
c1=int(raw_input('c1='))
a2=int(raw_input('a2='))
b2=int(raw_input('b2='))
c2=int(raw_input('c2='))
x,y=solve(a1,b1,c1,a2,b2,c2)
e1=str(a1)+'*x+'+str(b1)+'*y='+str(c1)
e2=str(a2)+'*x+'+str(b2)+'*y='+str(c2)
print' ',e1,' ',e2
print'x='+str(x),' y='+str(y)
J. python求一元二次函數
######python求標準的一元二次方程的解###############
a,b,c= map(float,input("請輸入aX^2+bX+c=0,函數中的三個參數:(空格隔開)").split())
###使用公式b^2-4ac判定是否有解b^2-4ac####
i=b*b-4*a*c
if i<0:
print("該方程無實數解!")
elif i==0:
print("該方程解為:%.2f"%((-1)*b/(2*a)))#有一個解
else:
print("該方程解為:%.2f或%.2f"%((((-1)*b+i**0.5)/(2*a)),(((-1)*b-i**0.5)/(2*a))))
該方法運用是運用公式求解,保留兩位小數,只能求實數解,供參考,有問題可追問