一、实验目的:
1、了解如何定义一个类。
2、了解如何定义类的私有数据成员和成员方法。
3、了解如何使用自定义类实例化对象。
二、实验内容:
定义一个三维向量类,并定义相应的特殊方法实现两个该类对象之间的加、减运算(要求支持运算符+、一),实现该类对象与标量的乘、除运算(要求支持运算符
*、/),以及向量长度的计算(要求使用属性实现)。
class MyArray:
def __init__(self,x,y,z):
self.__x=x
self.__y=y
self.__z=z
def add(self,a):
x=self.__x+a.__x
y=self.__y+a.__y
z=self.__z+a.__z
print("和=({},{},{})".format(x,y,z))
def sub(self,a):
x=self.__x-a.__x
y=self.__y-a.__y
z=self.__z-a.__z
print("差=({},{},{})".format(x, y, z))
def mul(self,a):
x=self.__x*a
y=self.__y*a
z=self.__z*a
print("乘积=({},{},{})".format(x, y, z))
def truediv(self,a):
x=self.__x/a
y=self.__y/a
z=self.__z/a
print("商=({},{},{})".format(x, y, z))
def length(self):
a=pow(pow(self.__x,2)+pow(self.__y,2)+pow(self.__z,2),0.5)
print("长度为:{}".format(round(a,3)))
print('请输入六个数a,b,c,d,e,f:')
a,b,c,d,e,f=map(int,input().split())
print('N1:',(a,b,c))
print('N2:',(d,e,f))
n1=MyArray(a,b,c)
n2=MyArray(d,e,f)
n1.add(n2)
n1.sub(n2)
n1.mul(2)
n1.truediv(2)
n1.length()
二、运行结果