Python实验报告十一、自定义类模拟三维向量及其运算

2023-12-22 13:54:59

一、实验目的:

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()
    

    二、运行结果

文章来源:https://blog.csdn.net/m0_65168503/article/details/135150354
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。