猫史档案馆


【Python作品分享】新的作品【教程贴】

用户:函数Chara函数Chara查看:6 回复:2 评论:6 创建时间:2020-02-18T11:56:31


【作品展示】

center_image

 

【作品介绍】

运算符重载,__add__加,__sub__减,__mul__乘,__div__除,__abs__绝对值...

 

【作品源代码】

class RMB:
    def __init__(self, yuan, jiao, fen):
        self.y = yuan
        self.j = jiao
        self.f = fen

    def __str__(self):
        return f"RMB({self.y}.{self.j}{self.f})"

    def __add__(self, other):
        rmb = RMB(self.y, self.j, self.f)
        rmb.f += other.f
        if rmb.f >= 10:
            rmb.f -= 10
            rmb.j += 1
        rmb.j += other.j
        if rmb.j >= 10:
            rmb.j -= 10
            rmb.y += 1
        rmb.y += other.y
        return float(f"{rmb.y}.{rmb.j}{rmb.f}")

    def __sub__(self, other):
        rmb = RMB(self.y, self.j, self.f)
        rmb.f -= other.f
        if rmb.f < 0:
            rmb.f += 10
            rmb.j -= 1
        rmb.j -= other.j
        if rmb.j < 0:
            rmb.j += 10
            rmb.y -= 1
        rmb.y -= other.y
        if rmb.y < 0:
            return "你破产了)-:"
        return float(f"{rmb.y}.{rmb.j}{rmb.f}")


rmb = RMB(100, 7, 4)
bmr = RMB(73, 6, 1)
print(rmb)
print(rmb-bmr)
print(rmb)

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
TimeLinkForeverTimeLinkForever

sub那些得好像不可以返回非数字类型,在我以前学的时候会出错

点赞0


评论


TimeLinkForeverTimeLinkForever

#这样可以喵
#文件名:sys.py
def str(stuff):
    a="233你是str不了%s得!"% stuff
    return a

点赞0


评论