加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
tollen.py 654 Bytes
一键复制 编辑 原始数据 按行查看 历史
Joachim Lublin 提交于 2016-05-14 18:36 . Initial commit
import math
class TolLen:
def __init__(self, a, b, type=0):
if(type == 0):
self.min = a
self.max = b
self.nom = (self.min + self.max) / 2
self.tol = (self.max - self.min) / 2
else:
self.nom = a
self.tol = b
self.update()
def update(self):
self.min = self.nom - self.tol
self.max = self.nom + self.tol
def __add__(self, x):
nom = self.nom + x.nom
tol = math.sqrt(self.tol**2 + x.tol**2)
return TolLen(nom, tol, 1)
def __sub__(self, x):
nom = self.nom - x.nom
tol = math.sqrt(self.tol**2 + x.tol**2)
return TolLen(nom, tol, 1)
def __repr__(self):
return '({}, {})'.format(self.min, self.max)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化