要解一元二次方程,肯定先把它化成一般式:ax^2+bx+c=0,我們需要用到的引數是a,b,c還有乙個判別式」▲「 ,可以隨意給個名字,我這裡給的g。
類的名字一般首字母大寫,然後以冒號結尾,**如下:
class
equation
: a =
int(
input
('輸入a值:'))
b =int(
input
('輸入b值:'))
c =int(
input
('輸入c值:'))
g =0
這裡的a,b,c,g就是建立的類變數:類變數在整個例項化的物件中是公用的。類變數定義在類中且在函式體之外。類變數通常不作為例項變數使用。
類的方法與普通的函式只有乙個特別的區別——它們必須有乙個額外的第乙個引數名稱, 按照慣例它的名稱是 self(可以用其他的)。
在方法裡引用變數要用self.+變數名,然後根據python的語法打出計算公式,注意縮排,如下:
def
getdiscriminant
(self)
:print
('判別式等於'
)print
(self.b * self.b -
4* self.a * self.c)
self.g = self.b * self.b -
4* self.a * self.c
公式法直接寫出來,注意縮排,:
def
getroot1
(self)
:if self.b * self.b -
4* self.a * self.c >=0:
print
('第乙個實根為:'
)print((
-self.b + self.g **
0.5)/(
2* self.a)
)else
:print
("此方程無實根。"
)
如果沒有實根就直接列印無根就行了。
第二個根也是一樣的:
def
getroot2
(self)
:if self.b * self.b -
4* self.a * self.c >=0:
print
('第二個實根為:'
)print((
-self.b - self.g **
0.5)/(
2* self.a)
)else
:return
0
如果無實根,第乙個已經列印了,所以我們這裡返回0。
先例項化這個類,再依次訪問類的方法,如下:
建立類,在寫出你在整個類要呼叫的類變數,建立類方法,方法裡可建立只在本方法使用的變數,此外注意縮排。最後例項化,訪問類屬性。
ps:新手學python,第一次寫部落格,沒有排版,沒有什麼技術含量,純粹分享學習,希望大佬們指出我的不足之處。
Python 解一元二次方程
請定義乙個函式quadratic a,b,c 接收3個引數,返回一元二次方程 ax2 bx c 0的兩個解。coding utf 8 可將quadratic a,b,c 單獨寫為b.py,之後在a.py中通過from b import quadratic呼叫這個函式 import math def ...
Python 解一元二次方程
今天看到廖雪峰老師的python3,看到函式後面的練習 如何解一元二次方程 感覺蠻簡單的就開啟text sblime去試試 糟糕 竟然忘了怎麼求一元二次方程!查資料 終於查好了!開始動手 1,匯入math模組 2.定義函式def n d return math.sqrt d def quadrati...
python解一元二次方程
剛開始碰到這個問題,習慣性地想要用迭代的方式來做,居然忘記了解方程的公式.思路 公式法解方程即可,先計算delta b 2 4ac 若delta 0,則判斷方程無解 為方便起見,忽略複數解 若delta 0,則 import math def quadratic a,b,c delta b 2 4 ...