第一步 明确需要的变量
要解一元二次方程,肯定先把它化成一般式:ax^2+bx+c=0,我们需要用到的参数是a,b,c还有一个判别式”▲“ ,可以随意给个名字,我这里给的g。
第二步 创建一个类
类的名字一般首字母大写,然后以冒号结尾,代码如下:
class Equation:
a = int(input('输入a值:'))
b = int(input('输入b值:'))
c = int(input('输入c值:'))
g = 0
这里的a,b,c,g就是创建的类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。
第三步 创建类的方法
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self(可以用其他的)。
第一个方法 计算出判别式的值
在方法里引用变量要用self.+变量名,然后根据python的语法打出计算公式,注意缩进,如下:
def getDiscriminant(self):
print('判别式等于')
print(self.b * self.b - 4 * self.a * self.c)
self.g = self.b * self.b - 4 * self.a * self.c
第二个方法 计算根的值
公式法直接写出来,注意缩进,:
def getRoot1(self):
if self.b * self.b - 4 * self.a * self.c >= 0:
print('第一个实根为:')
print((-self.b + self.g ** 0.5) / (2 * self.a))
else:
print("此方程无实根。")
如果没有实根就直接打印无根就行了。
第二个根也是一样的:
def getRoot2(self):
if self.b * self.b - 4 * self.a * self.c >= 0:
print('第二个实根为:')
print((-self.b - self.g ** 0.5) / (2 * self.a))
else:
return 0
如果无实根,第一个已经打印了,所以我们这里返回0。
最后一步 我们调用这个类
先实例化这个类,再依次访问类的方法,如下:
zxc = Equation()
zxc.getDiscriminant()
zxc.getRoot1()
zxc.getRoot2()
运行结果
总结
创建类,在写出你在整个类要调用的类变量,创建类方法,方法里可创建只在本方法使用的变量,此外注意缩进。最后实例化,访问类属性。
ps:新手学python,第一次写博客,没有排版,没有什么技术含量,纯粹分享学习,希望大佬们指出我的不足之处。