{ "question_id": 919782, "question_title": "二次方程式", "question_content": "为二次方程式ax**2 + bx + c = 0 设计一个名为Equation的类,这个类包括:\n1、一个参数为a、b、c的构造方法\n2、一个名为getDeta() 的方法返回判别式的值\n3、 一个名为getRoot1()和getRoot2()的方法返回方程式的两个根,如果判别式为负,则返回0。", "difficulty": "简单", "answer_id": 1057528, "answer_content": "\n```\nclass XEqu(object):\n\tdef __init__(self,a,b,c):\n\t\tself.a = a\n\t\tself.b = b\n\t\tself.c = c\n\t\n\tdef getDeta(self):\n\t\treturn pow(self.b,2)-4*self.a*self.c\n\t\t\n\tdef _is_middle(self):\n\t\tif getDeta() < 0:\n\t\t\treturn False\n\t\telse:\n\t\t\treturn True\n\t\n\tdef getRoot1(self):\n\t\tif self._is_middle():\n\t\t\treturn (-self.b+pow(getDeta(),0.5))/(2*self.a)\n\t\telse:\n\t\t\treturn 0\n\t\t\n\tdef getRoot2(self):\n\t\tif self._is_middle():\n\t\t\treturn (-self.b-pow(getDeta(),0.5))/(2*self.a)\n\t\telse:\n\t\t\treturn 0\n```\n\n大概是这样子的吧", "tag_name": "python", "python": "class XEqu(object):\n\tdef __init__(self,a,b,c):\n\t\tself.a = a\n\t\tself.b = b\n\t\tself.c = c\n\tdef getDeta(self):\n\t\treturn pow(self.b,2)-4*self.a*self.c\n\tdef _is_middle(self):\n\t\tif self.getDeta() < 0:\n\t\t\treturn False\n\t\telse:\n\t\t\treturn True\n\tdef getRoot1(self):\n\t\tif self._is_middle():\n\t\t\treturn (-self.b+pow(self.getDeta(),0.5))/(2*self.a)\n\t\telse:\n\t\t\treturn 0\n\tdef getRoot2(self):\n\t\tif self._is_middle():\n\t\t\treturn (-self.b-pow(self.getDeta(),0.5))/(2*self.a)\n\t\telse:\n\t\t\treturn 0\n", "topic_link": "https://bbs.csdn.net/topics/600469982", "status": 0, "keywords": "B树,算法高阶,高级数据结构,B树上的基本操作", "license": "csdn.net", "notebook": { "python": "https://codechina.csdn.net/csdn/csdn-daily-code/-/jupyter/master/data/notebook/answer/ipynb/python/5.ipynb?type=file" } }