proplem in program by python fractions


i have error in my code that write by python about fractions but I fase me proplem.

错误是我不知道如何询问对象 保存 Objet 的变量值,然后调用执行数学运算的 aldea 请帮我纠正它


from fractions import*
# for testing vlaues
f12 = Fraction(1,2)
f44 = Fraction(4,4)
f128 = Fraction(12,8)
f32 = Fraction(3,2)
class Fraction:
def __init__ (self, numerator, denominator):
self.numerator = numerator
self.denominator = denominator
if self.denominator == 0:
raise ZeroDivisionError("sorry you are dividing by zero")
def sum(self, other):
numerator = (self.numerator * other.denominator) + (self.denominator + 
other.numerator)
denominator = (self.denominator * other.denominator)
return Fraction(numerator/denominator)
def minus(self, other):
numerator = (self.numerator * other.denominator) - (self.denominator + 
other.numerator)
denominator = (self.denominator * other.denominator)
return Fraction(numerator/denominator)
def times(self, other):
numerator = self.numerator * other.numerator
denominator = self.denominator * other.denominator
return Fraction(numerator/denominator)
def divid (self, other):
numerator = self.numerator * other.denominator
denominator = self.denominator * other.numerator
return Fraction(numerator/denominator)
def equals(self, other):
return self.numerator * other.denominator == self.denominator * 
other.numerator
def test_suite(self,other):
if self == f12:
print(f"[{f12} + {f12} == {f12.sum(f12)} ] [4/4]")
elif self == f44 and other == f12:
print(f"[{f44} - {f12} == {f44.sum(f12)} ] [12/8]")
elif self == f12 and other == f44:
print(f"[{f12} + {f44} == {f12.minus(f44)} ] [4/8]")
elif self == f128 and other == f32:
print(f"[{f128} == {f32} == {f128.requal(f32)} ] [True]")

def main():
print("Wlecome to Fraction Caculator!")
numerator_1 = input("Fraction 1 Numerator: ")
denominator_1 = input("Fraction 1 denominator ")
f12 = Fraction(numerator_1, denominator_1)
numerator_2 = input("Fraction 2 Numerator: ")
denominator_2 = input("Fraction 2 denominator ")
f44 = Fraction(numerator_2, denominator_2)
#for texting parts

operation = print("Please enter the operation +, - , *, //, %, == ")
if operation == "+":
f12.sum(f44)
elif operation == "-":
f12.mins(f44)
elif operation == "*":
f12.times(f44)
elif operation == "//":
f12.divid(f44)
#for texting values



if __name__ == "_ _ main _ _ ":
main()

最新更新