解一元二次方程

好久没写 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() 方法;


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