题目:
(1)定义圆锥类Cone,其包含两个实例属性:底面半径r,高h,定义构造方法对实例属性进行赋值初始化。
(2)定义私有方法__volume,计算其体积:v=1/3*π*r2*h,作为返回值返回。其中圆周率π请通过math.pi获取。
(3) 定义公有方法print_info,打印其底面半径r,高h,以及体积v。例如打印:Cone: r=1.0, h=2.0, v=2.09,其中计算体积需要调用已定义的私有方法__volume。
(4) 创建Cone的对象c,其底面半径r=1.0,高h=2.0,调用其print_info方法打印其信息。
from math import *
class Cone:
def __init__(self,r,h):
self.r=r
self.h=h
def __getvolume(self):
v=1/3*pi*r^2*h
return v
def print_into(self):
self.__getvolume()
print('r=',self.r,'h=',self.h,'v=',v)
return print_into
c=Cone(1.0,2.0)
c.print_into()
Traceback (most recent call last):
File "E:\learn\python\作业\作业三\2.py", line 14, in <module>
c.print_into()
File "E:\learn\python\作业\作业三\2.py", line 10, in print_into
self.__getvolume()
File "E:\learn\python\作业\作业三\2.py", line 7, in __getvolume
v=1/3*pi*r^2*h
NameError: name 'r' is not defined
from math import *
class Cone:
def __init__(self,r,h):
self.r=r
self.h=h
def __getvolume(self):
v=1/3*pi*self.r**2*self.h
return v
def print_into(self):
v = self.__getvolume()
print('r=',self.r,'h=',self.h,'v=',v)
c=Cone(1.0,2.0)
c.print_into()
要用self.r,self.h???
注意:python中乘方运算符是两个星号**. 而^是二进制的异或运算符
如果对你有帮助,可以点击我这个的回答右上方的【采纳】按钮,给我个采纳吗,谢谢。
v=1/3*pi*self.r**2*self.h
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632