python使用try except解一元二次方程問題

2021-03-21 15:56:07 字數 3764 閱讀 5794

1樓:可靠的我心我在

報錯unboundlocalerror: local variable 'a' referenced before assignment

這個報錯是因為你 a,b,c=raw_input("please enter the coefficients(a,b,c):")

執行到這句就報錯了 ,可能你輸入格式的有問題(比如 1,2,3或者 1 2 3) ,不信你用

import traceback

try:

a,b,c=input("please enter the coefficients(a,b,c):")

a,b,c=int(a,b,c)

discroot=math.sqrt(b*b-4*a*c)

root1=(-b+discroot)/(2*a)

root2=(-b-discroot)/(2*a)

print ("\nthe solutions are",root1,root2)

except exception,e:

traceback.print_exc()

print a,b,c

#如果a,b,c正常的賦值了 就算異常了在except 裡面也會正常的print 出來

然後 a,b,c=int(a,b,c)這句我不知道是不是你獨創的寫法 還是python3 新增的

py2 是沒有這樣子的寫法

怎麼用python解一元二次方程

2樓:混小子愛

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+***plex(0,1)*np.sqrt((-1)*delta))/(2*a)

x2 = (-b-***plex(0,1)*np.sqrt((-1)*delta))/(2*a)

print('方程有兩個虛根,如下所示:')print(x1,x2)

return x1,x2

為什麼我寫的這個python函式解一元二次方程不能執行

3樓:匿名使用者

你這種 你最好起一個英文的檔名

最好還短一點

你看你第一個就可以執行,第二個中文檔名就不行報錯也可以看出 你看看括號全形半形問題

4樓:風起雪落

要用python命令執行,輸入

python f:\......py

5樓:雙庚的乳酪

你要輸入:python f:\解二次函式實根(2).py

6樓:匿名使用者

在執行 python ***.py

怎麼用python解一元二次方程,用判斷語句

7樓:匿名使用者

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)

python try except中

8樓:暗客默燭

首先,種類並不

bai多,基du

本上常見的就那麼zhi幾種。

其次,你應dao該對可能出現的異內常有預期容,比如語句 int(a) ,就很有可能出現valueerror,因為a可能不能強轉為int。

然後,情況複雜,會自定異常,在某個**段發生異常時丟擲一個自定義異常,在外層捕獲這個自定的異常進行處理。

如何迴圈python解一元二次方程

9樓:匿名使用者

123456

78910

1112

1314

1516

1718

1920

2122

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+***plex(0,1)*np.sqrt((-1)*delta))/(2*a)

x2 = (-b-***plex(0,1)*np.sqrt((-1)*delta))/(2*a)

print('方程有兩個虛根,如下所示:')print(x1,x2)

return x1,x2

用python寫了一個求一元二次方程解的程式,為什麼輸入這一組值時會結果錯誤?而其他的值都是正確的

10樓:匿名使用者

首先,我沒有搞錯的話,你這個程式沒有輸入

其次,你輸入的地方報符號錯誤,我猜可能是因為你的輸入法的問題

我用python寫的一元二次方程球根公式函式為什麼有這些問題

11樓:匿名使用者

28行改為f(a,b,c)

20行,即return那行去掉

30行改為x=int(input())

怎麼用python解一元二次方程

12樓:遇見你

import scipy.optimizeimport sympy

print(scipy.optimize.fsolve(lambda x: x**2 + 2*x + 1, 0))

print(sympy.solve('x**2 + 2*x + 1'))

spicy.optimize.fsolve求數值解需要給定初值必要需要選定求解器(解二元已所謂)

sympy.solve求解析解更細緻玩

其實元二程種求根公式玩意……直接套求根公式行……

python怎麼使用matplotlib畫出下面這樣的圖

最簡單的柱狀 應該是這樣的 coding utf 8 import matplotlib.pyplot as pltimport numpy as np x np.random.randint 0,10,size 10 y np.random.randint 100,1000,size 10 plt...

python3 5使用pip安裝pillow時出現Unable to find vcvarsall bat

來安裝包自,一般是msi或者whl格式,本地用pip安裝 如下 http www.lfd.uci.edu gohlke pythonlibs python 安裝windows下的外掛 unable to find vcvarsall.bat 終極解決方法 support great share.當然...

如何使用python執行遠端shell指令碼

pexpect複雜,但通用靈活。另外一種辦法就是ssh keygen ssh copy id,實現自動金鑰驗證取代手動密碼驗證,然後就可以直接呼叫遠端 ssh remote user remote host remote script.sh 麻煩之處在於要手動建立與維護兩臺機器間的公鑰。至於捕獲輸出...