Python 解一元二次方程

2021-08-08 18:19:15 字數 907 閱讀 3457

請定義乙個函式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 quadratic(a,b,c):

if not isinstance(a,(int)):

raise typeerror('a is not a num')

if not isinstance(b,(int)):

raise typeerror('b is not a num')

if not isinstance(c,(int)):

raise typeerror('c is not a num')

z=b*b-4*a*c

if a==0:

if b==0:

if c==0:

return '方程有全體實數解'

else:

return '方程無解'

else:

x1=-c/b

x2=x1

return x1,x2

else:

if z<0:

return '方程無解'

else:

x1 = (-b + math.sqrt(z))/(2*a)

x2 = (-b - math.sqrt(z))/(2*a)

return x1,x2

a,b,c = (int(n) for n in input('輸入3個資料(以空格分隔):').split())

print(quadratic(a,b,c))

解一元二次方程

題目描述 求一元二次方程ax2 bx c 0的根,三個係數a,b,c由鍵盤輸入,且a不能為0,且保證b2 4ac 0。程式中所涉及的變數均為double型別。輸入 以空格分隔的一元二次方程的三個係數,雙精度double型別 輸出 分行輸出兩個根如下 注意末尾的換行 r1 第乙個根 r2 第二個根 結...

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 ...