解一元二次方程

好久沒寫 python 了…表示都忘乾淨了 =。=

恰好又到了課程設計的時節…角落裏的編程也要拿出來拍拍灰啦。寫的代碼都會記錄到這個博客上。

最簡單的,解一元二次方程:

#!usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import division #除法糾正
import math

def oneandtwo():
    '''判斷方程的根;若方程有根,則將其解出來'''
    delta=b**2-4*a*c #根的判別式
    print u'判別式大小爲:',delta
    print
    if delta<0:
        print u'根的判別式小於0,方程無解!'
    else:
        x1=(-b+math.sqrt(delta))/(2*a) #第一個根
        x2=(-b-math.sqrt(delta))/(2*a) #第二個根
        print u'方程的兩根是:\n\nx1=%f\nx2=%f'%(x1,x2)
        print

if __name__=='__main__':
    print u'輸入一元二次方程的係數(a,b,c):'
    print
    stra=raw_input(u'請輸入係數 a:')
    strb=raw_input(u'請輸入係數 b:')
    strc=raw_input(u'請輸入係數 c:')
    print
    print u'方程是:(%s)*x^2+(%s)*x+(%s)=0'%(stra,strb,strc)
    print
    #將輸入的字符串轉換爲浮點數
    a=float(stra)
    b=float(strb)
    c=float(strc)
    oneandtwo() #調用並打印出方程的兩個根




需要注意的有:

  1. Python 2.X 的除法糾正;
  2. 將輸入的字符串轉換爲浮點數,而不能使用 int() 方法;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章