Fyc01 发表于 2020-3-19 11:37:21

课后作业不会呀

1.计一个名为Stock的类,表示一个公司的股票,它包括:(1)一个名为symbol的私有字符串变量,表示股票的代码;
(2)一个名为那么的私有字符串变量,表示公司名称;
(3)一个名为preClosingPrice的私有浮点变量,存储前一天的股票收盘价格;
(4)一个名为curPrice的私有浮点变量,存储当前的股票价格;
(5)一个构造方法,创建一个具有特定股票代码、名字、前一天收盘价格和当前价格的股票;
(6)一个返回股票代码的get()方法;
(7)一个返回股票名字的get()方法;
(8)获取和设置股票前一天价格的get()和set()方法;
(9)获取和设置股票当前价格的get()和set()方法;
(10)一个名为getChangePerent()的方法,返回从preClosingPrice到curPrice所改变的百分比(涨幅);
编写一个类,同时编写一个测试程序,通过Stock类创建一个股票对象,这个股票的代码10001,名字为平头哥,前一天的收盘价62.82元,当前价格70.23元,并且显示这个股票的名字,前一天收盘价、当前价和当前涨幅。
2   设计一个类,名字为QE,QE类用来计算一元二次方程a*x*x+b*x+c=0的平方根,这个类包括:
(1)私有变量a,b,c表示三个系数;
(2)以a,b,c为参数的构造方法;
(3)a,b,c各自的get()方法;
(4)名为getD()的方法返回判别式的值,即b*b-4*a*c
(5)名为getRoot1()和getRoot2()的方法分别计算方程的连个根,这两个方法只能在判别式b*b-4*a*c非负才有用,判别式为负时,则这两个方法返回0;
编写这个类,同时编写一个测试程序提示输入a,b,c的值,然后显示判别式的值,如果判别式大于0,显示两个根;如果判别式为0,显示一个根;如果判别式为负,显示方程无根。

永恒的蓝色梦想 发表于 2020-3-19 13:04:37

class QE:
    __slots__=('__vars',)

    def __init__(self,a,b,c,/):
      getD=b**2-4*a*c
      
      if getD>0:
            getRoot1=(-b+getD)/(2*a)
            getRoot2=-(b+getD)/(2*a)
      elif getD<0:
            getRoot1=getRoot2=0
      else:
            getRoot1=getRoot2=-b/(2*a)

      self.__vars={'a':a,'b':b,'c':c,'getD':getD,'getRoot1':getRoot1,'getRoot2':getRoot2}

    def __setattr__(self, name, value,/):
      raise AttributeError("readonly attribute")

    def __getattr__(self,value,/):
      try:
            return self.__vars
      except:
            raise AttributeError(f"QE object has no attribute '{value}'")

    def __hasattr__(self,value,/):
      return value in self.__vars

Fyc01 发表于 2020-3-19 13:13:29

永恒的蓝色梦想 发表于 2020-3-19 13:04


这是?

永恒的蓝色梦想 发表于 2020-3-19 13:17:42

Fyc01 发表于 2020-3-19 13:13
这是?

设计一个类,名字为QE,QE类用来计算一元二次方程a*x*x+b*x+c=0的平方根

Fyc01 发表于 2020-3-19 13:28:12

永恒的蓝色梦想 发表于 2020-3-19 13:17


谢谢!{:5_108:}
页: [1]
查看完整版本: 课后作业不会呀