Python 求一元二次方程的解

 知识点

  • 调用 math.sqrt() 函数求一个数的平方根;
  • 使用 def 自定义一个函数时,函数返回值使用 return 返回;
  • 函数体内部的语句在执行时,一旦执行到 return 时,函数就执行完毕,并将结果返回;
  • 函数的返回值可以是多个,如果是多个,将以一个元组的形式返回;
  • 使用 list 方法可以将字符串的每个字符以列表形式存储;
  • 使用 splite() 方法可以让字符串以某个字符分隔后以列表形式存储。 

输入abc的值,求一元二次方程 a*x**2+b*x+c=0 的解:

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

import math

def quadratic(a,b,c):
    deerta = b**2 - 4*a*c
    if a == 0:
        if b == 0:
            x = "方程无意义!"
            return x
        else:
            x = -c/b
            return x
    elif deerta < 0:
        x = '方程无实数解!'
        return x
    elif deerta == 0:
        x = -b/(2*a)
        return x
    else:
        x1 = (-b+math.sqrt(deerta))/(2*a)
        x2 = (-b-math.sqrt(deerta))/(2*a)
        return x1,x2

abc = input('键入方程"a*x**2+b*x+c=0"中abc的值(空格隔开): ' )

abc = abc.split(' ')
a = int(abc[0])
b = int(abc[1])
c = int(abc[2])

print(quadratic(a,b,c))

 

你可能感兴趣的:(Python 求一元二次方程的解)