def gcd(a, b): #求a/b中分子分母的最大公约数
if(b == 0):
return a
return gcd(b, a%b)
class Rational(object):
def init(self, p, q):
self.p = p
self.q = q
def add(self, r): #分数相加
return Rational(self.p * r.q + r.p * self.q, self.q * r.q)
def sub(self, r): #分数相减
return Rational(self.p * r.q - self.q * r.p, self.q * r.q)
def mul(self, r): #分数相乘
return Rational(self.p * r.p, self.q * r.q)
def div(self, r): #分数
什么叫去掉小数点后一位?如果不要小数点,直接强制类型转换为整形即可,如果要保留几位小数乘10的n次方,然后取整,再转换为浮点数,再除以10的n次方即可,如果要四舍五入,只需做之前先判断,判断结果加不加1