实验7:自定义类模拟三维向量及其运算

本文介绍如何创建一个Python自定义类来模拟三维向量,并实现加减、乘除运算以及计算向量长度。通过特殊方法支持运算符+、-、*、/,并利用属性计算向量的模长。
摘要由CSDN通过智能技术生成

定义一个三维向量类,并定义相应得特殊方法实现两个该类对象之间得加减运算(要求支持运算符+、-),实现该类对象与标量得乘除运算(要求支持运算符*、/),以及向量长度得计算(要求使用属性实现)

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值