计算方程

相信读者应该学习过了一元一次方程和一元二次方程了,本节内容我们编程求解一般形式的方程。程序支持用户 临时输入参数,这就需要输入函数了 input,记住这个输入函数是str字符串类型的,需要转为浮点型, 因为用户可能会输入一个小数。

一元一次方程求解

一元一次方程的一般形式为:

一元一次方程

输入两个参数a, b,输入结果为b/a。这里仍然有一个问题,我们在程序中还需要判断a是否为0。 整个程序如下:

a = input("一次项系数:")
b = input("常数项:")

if float(a) == 0.0:
    print("输入的一次项系数为0")
else:
    print("结果为:",float(b) / float(a))

运行程序或者使用快捷键F5,我们尝试输入:

一次项系数:0
常数项:3
输入的一次项系数为0

再次运行:

一次项系数:3.5
常数项:6
结果为: 1.7142857142857142

请各位读者朋友一定要动手操作,多输入一些数据,发现问题。如果出现报错一定要仔细检查是否包含了 中文符号,或者缩进方式。还有可能是输入的数据有问题。

一元二次方程求解

一元二次方程我们采用求根公式的办法,根是否存在需要判断。整个过程也变得比较简单。唯独有一个小问题 求一个正数的根式怎么办呢?这里我们需要介绍一个小知识点,引入数学包。我么先来看看求一个数的根式

>>>import math
>>>print(math.sqrt(100))
10.0

求解一元二次方程的程序就变得很简单了:

import math

a = float(input("二次项系数:"))
b = float(input("一次项系数:"))
c = float(input("常数项:"))

delta = b ** 2 - 4 * a * c

if delta < 0:
    print("无实数根")
elif delta == 0:
    x12 = b / (2 * a)
    print("有两个相等的实根:", x12)
else:
    x1 = (b - math.sqrt(delta)) / (2 * a)
    x2 = (b + math.sqrt(delta)) / (2 * a)
    print("有两个不相等的实根为:", x1, x2)

运行程序:

二次项系数:1
一次项系数:2
常数项:1
有两个相等的实根: 1.0

这里有一个新知识,分支语句使用elif多个判断条件。

小节

本节内容我们主要讲了求解一元一次方程和一元二次方程程序求解,程序稍比以前复杂,希望读者朋友多 动手练习,编程很大一部分是依赖熟能生巧,多联系加深理解。