为了账号安全,请及时绑定邮箱和手机立即绑定

rational()的问题

class Rational(object):
   def __init__(self, p, q):
       self.p = p
       self.q = q
   def __add__(self, r):
       return self.p * r.q + self.q * r.p, self.q * r.q #我将rational()去掉了
   def __str__(self):
       return '%s/%s' % (self.p, self.q)
   __repr__ = __str__

r1 = Rational(1, 3)

r2 = Rational(1, 2)
print r1  #输出1/3
print r2  #输出 1/2
print r1 + r2 #为什么输出的是(5,6)


正在回答

1 回答

首先,分数的加法的运算法则你没有写错。所以会出现5,6这两个数字。儿你的加法法则里并不是套上分数的模式(衣服,也就是rational),所以返回的就是(5,6),因为你的格式就是这样写的.

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255532    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

rational()的问题

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号