学习内容:设计三维向量类、实现向量的加法、减法以及向量与标量的乘法和除法运算

设计三维向量类、实现向量的加法、减法以及向量与标量的乘法和除法运算

实验代码:

class Vector_3D:def __init__(self, x, y, z):self.__x = xself.__y = yself.__z = zdef add(self, other):x = self.__x + other.__xy = self.__y + other.__yz = self.__z + other.__zreturn Vector_3D(x, y, z)def Minus(self, other):x = self.__x - other.__xy = self.__y - other.__yz = self.__z - other.__zreturn Vector_3D(x, y, z)def Multiply(self, a):x = self.__x * ay = self.__y * az = self.__z * areturn Vector_3D(x, y, z)def Except(self, a):x = self.__x / ay = self.__y / az = self.__z / areturn Vector_3D(x, y, z)def show(self):print('X:{0}, Y:{1}, Z:{2}'.format(self.__x,self.__y,self.__z))def lenght(self):return (self.__x ** 2 + self.__y ** 2 + self.__z ** 2) ** 0.5b = Vector_3D(1, 2, 3)
b1 = b.Multiply(4)
b1.show()b2 = b1.add(b)
b2.show()
print(b2.lenght())

学习内容:编写自定义类,模拟内置集

编写自定义类,模拟内置集

实验代码:

class Set(object):def __init__(self, data=None):if data is None:self.__data = []else:raise Exception('必须是可迭代的数据')temp = []for itme in self.__data:hash(itme)if itme not in temp:temp.append(itme)self.__data = tempdef __del__(self):del self.__datadef add(self, value):hash(value)if value not in self.__data:self.__data.append(value)else:print('已存在,忽略操作')def remove(self, value):if value in self.__data:self.__data.remove(value)print('删除成功')else:print('元素不存在,操作忽略')def pop(self):if not self.__data:print('集合已空,弹出操作忽略')returnimport randomitem = random.choice(self.__data)self.__data.remove(item)return itemdef __sub__(self, anotherSet):if not isinstance(anotherSet, Set):raise Exception('类型错误')result = Set()for item in self.__data:if item not in anotherSet.__data:result.__data.append(item)return resultdef difference(self, anotherSet):return self - anotherSetdef __or__(self, anotherSet):if not isinstance(anotherSet, Set):raise Exception('类型错误')result = Set(self.__data)for item in anotherSet.__data:if item not in result.__data:result.__data.append(item)return resultdef union(self, anotherSet):return self | anotherSetdef __and__(self, anotherSet):if not isinstance(anotherSet, Set):raise Exception('类型错误')result = Set()for item in self.__data:result.__data.append(item)return resultdef __xor__(self, other):return (self - other) | (other - self)def symetric_difference(self, anotherSet):return self ^ anotherSetdef __eq__(self, other):if not isinstance(other, Set):raise Exception('类型错误')return sorted(self.__data) == sorted(other.__data)def __gt__(self, other):if not isinstance(other, Set):raise Exception('类型错误')if self != other:flag1 = Truefor item in self.__data:if item not in other.__data:flag1 = Falsebreakflag2 = Truefor item in other.__data:if item not in self.__data:if item not in self.__data:flag2 = Falsebreakif not flag1 and flag2:return Truereturn Falsedef __ge__(self, anotherSet):if not isinstance(anotherSet, Set):raise Exception('类型错误')return self == anotherSet or self > anotherSetdef issubset(self, anotherSet):return self < anotherSetdef clear(self):while self.__data:del self.__data[-1]print('集合已清空')def __iter__(self):return iter(self.__data)def __contains__(self, item):return item in self.__datadef __len__(self):return len(self.__data)def __repr__(self):return '{' + str(self.__data)[1:-1] + '}'__str__ = __repr__

学习内容:编写自定义类,模拟双端队列。

 编写自定义类,模拟双端队列。

实验代码:

class li_Deque():def __init__(self, iterable=None,maxlen=0):if iterable == None:self.__content = []self.__current = 0else:self.__content = list(iterable)self.__current = len(iterable)self.__size = maxlenif self.__size < self.__current:self.__size = self.__currentdef __del__(self):del self.__currentdef setSize(self, size):if size < self.__current:for i in range(size, self.__current)[::-1]:del self.__current[i]self.__current = sizeself.__size = sizedef appendRight(self, v):if self.__current < self.__size:self.__content.append(v)self.__current = self.__current + 1else:print('full')def appendLeft(self, v):if self.__content < self.__size:self.__content.insert(0, v)self.__current = self.__current + 1else:print('full')def popLeft(self):if self.__content:self.__current = self.__current + 1return self.__content.pop(0)else:print('empty')def popRight(self):if self.__content:self.__current = self.__current - 1return  self.__content.pop()else:print('empty')def rotate(self, k):if abs(k) > self.__current:print('k must <=' + str(self.__current))returnself.__content = self.__content[-k:] + self.__content[:-k]def reverse(self):self.__content = self.__content[::-1]def __len__(self):return self.__currentdef __str__(self):return 'Lihubing('+str(self.__content)+',maxlen='+str(self.__size)+')'__repr__ = __str__def clear(self):self.__content = []self.__current = 0def isEmpty(self):return not self.__contentdef isFull(self):return self.__current == self.__sizeif __name__ == '__main__':print('Please use as a module')

学习内容:设计并实现一个数组类,要求能够把包含数字的列表、元组或range 对象转换为数组,并能够修改数组中指定位置上的元素值。

设计并实现一个数组类,要求能够把包含数字的列表、元组或range 对象转换为数组,并能够修改数组中指定位置上的元素值。

实验代码:

实验结果:


学习内容:设计并实现一个数组类,要求能够把包含数字的列表、元组或range 对象转换为数组,能够使用包含整数的列表作为下标同时返回多个位置上的元素值。

  设计并实现一个数组类,要求能够把包含数字的列表、元组或range 对象转换为数组,能够使用包含整数的列表作为下标同时返回多个位置上的元素值。

实验代码:

实验结果:


学习内容:编写函数,接收一个字符串,返回其中最长的数字子串。

        编写函数,接收一个字符串,返回其中最长的数字子串。

实验代码:

实验结果:


学习内容:编写函数,接收一句英文,把其中的单词倒置,标点符号不倒置,例如 I like Beijing.经过函数后变为:Beijing. like I

编写函数,接收一句英文,把其中的单词倒置,标点符号不倒置,例如 I like Beijing.经过函数后变为:Beijing. like I

实验代码:

实验结果:


学习内容:编写函数,接收一个字符串,返回其中每个字符的最后一次出现,并按每个字符最后一次出现的先后顺序依次存入列表。例如,对于字符串'abcda'的处理结果为['b', 'c', 'd', 'a'],而字符串'abcbda'的处理结果为['c', 'b', 'd', 'a']。

  编写函数,接收一个字符串,返回其中每个字符的最后一次出现,并按每个字符最后一次出现的先后顺序依次存入列表。例如,对于字符串'abcda'的处理结果为['b', 'c', 'd', 'a'],而字符串'abcbda'的处理结果为['c', 'b', 'd', 'a']。

实验代码:

实验结果:

【Python养成】:案例(设计三维向量类、实现向量的加法、减法以及向量与标量的乘法和除法运算、编写自定义类,模拟内置集、编写自定义类,模拟双端队列。)相关推荐

  1. 7-3 三维向量运算设计一个三维向量类,实现向量加法、减法以及向量与标量的乘法和除法运算。

    7-3 三维向量运算 设计一个三维向量类,实现向量加法.减法以及向量与标量的乘法和除法运算.后面添加下面代码完成: 天杀的出题人,非得放个图片在这,放个代码块会死吗? 运行的时候,要把这张图片里的内容 ...

  2. 设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算。

    class Vector:def __init__(self, a, b, c):self.x = aself.y = bself.z = cdef addition(self, m, n):self ...

  3. leetcode:641. 设计循环双端队列

    641. 设计循环双端队列 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/design-circular-deque/ 设计实现双端队列. 实现 M ...

  4. LeetCode实战:设计循环双端队列

    题目英文 Design your implementation of the circular double-ended queue (deque). Your implementation shou ...

  5. sv队列和动态数组的区别_Go 刷 LeetCode 系列:经典(7) 设计双端队列

    设计实现双端队列. 你的实现需要支持以下操作: MyCircularDeque(k):构造函数,双端队列的大小为k.insertFront():将一个元素添加到双端队列头部.如果操作成功返回 true ...

  6. LeetCode 641. 设计循环双端队列

    文章目录 1. 题目信息 2. 解题 1. 题目信息 设计实现双端队列. 你的实现需要支持以下操作: MyCircularDeque(k):构造函数,双端队列的大小为k. insertFront(): ...

  7. 数据结构与算法笔记(五)——队列(FIFO队列、双端队列)

    一.FIFO队列 1.1.概念 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表. 队列是一种先进先出的(First In First Out)的线性表,简称FIFO.允许 ...

  8. C#LeetCode刷题之#641-设计循环双端队列(Design Circular Deque)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4132 访问. 设计实现双端队列. 你的实现需要支持以下操作: M ...

  9. Java 集合深入理解(10):Deque 双端队列

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 什么是 Deque Deque 是 Double ended queue (双端队列) 的缩写,读音和 deck 一样,蛋 ...

最新文章

  1. 常用的linux命令与示例,linux常用命令及用法示例
  2. sqlserver2008清除日志方法_服务器磁盘使用率100%解决方法
  3. MySQL引擎innodb和mysum_mysql数据库引擎InnoDB和MyISAM
  4. 【转】 GetProcAddress()用法
  5. 浅析请求转发和重定向
  6. 为什么parsefloat加出来还是字符串_Python 100天从新手到大师 | Day 7 字符串与数据结构...
  7. git 代码回滚_能提交到远程的Git回滚
  8. 我对 ASP.NET Web API 的随想
  9. java 网页应用 原理_【转载】Web应用工作原理
  10. [Alamofire] 错误总结
  11. Myeclipse学习总结(1)——Myeclipse优化配置
  12. win11搜索栏无法输入 Windows11搜索栏无法输入的解决方法
  13. win7 下 java 环境变量配置
  14. 模糊综合评价法(FCE)-快速理解
  15. 日历表(点击每一日获得当日日期)
  16. 白盒测试 | 用例设计方法之条件组合覆盖
  17. LANP环境搭建(yum安装)
  18. 音频功率放大电路(使用过的语音方案电路记录)
  19. hadoop java 文件追加_HDFS追加文件
  20. 周明:NLP进步将如何改变搜索体验

热门文章

  1. brew search怎么看版本_Homebrew 安装旧版本软件包马克
  2. snmp的团体名配置_交换机SNMP配置
  3. c语言中英文翻译 毕业设计,c语言中英文翻译资料 毕业(设计)论文.doc
  4. uniapp [微信小程序开发工具]?Enable IDE Service (y/N) ESC[27DESC[27C
  5. Gmsh剖三维网格教程附代码
  6. MapReduce入门程序
  7. 移动办公已成大势所趋,OA系统“把办公室装进口袋”
  8. tlbb lua - tlbb cegui 天龙八部UI界面移植+脚本原理视频教程
  9. 354. 俄罗斯套娃信封问题(Java动态规划)
  10. 冶金物理化学复习 --- 熔渣的酸碱性与氧化性