第一个python程序求解一元二次方程实数根

Ft 2018-05-19 PM 43℃ 0条
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import math

def ck():
    Flag = True
    while Flag:
        try:
            value = float(input("请输入参数:"))
        except ValueError:
            print("数值类型错误,请重新输入!")
        else:
            if type(value) == type(0.0):
                Flag = False
                return value    
            else:
                print("Error! Are you sure it's a float?")
        finally:
            print("\n")


def q(a,b,c):
    if (b*b-4*a*c)>=0:
        x1=(-b+math.sqrt(b*b-4*a*c))/(2*a)
        x2=(-b-math.sqrt(b*b-4*a*c))/(2*a)
        return x1,x2
    else:
        return False


print("请依次输入二元一次方程ax^2 + bx + c = 0参数a b c,输入1个参数后回车")
nums=[ck(),ck(),ck()]
if q(*nums):
    print("\n求解完毕:方程第一个实数解为%.2f,方程第二个实数解为%.2f\n" %(q(*nums)[0],q(*nums)[1]))
else:
    print("\n方程无实数解\n")
标签: python

非特殊说明,本博所有文章均为博主原创。

评论啦~