gpt4 book ai didi

Python 面向对象编程。编写程序来执行丰富的比较

转载 作者:行者123 更新时间:2023-12-01 02:06:58 25 4
gpt4 key购买 nike

我正在通过Python学习面向对象编程。我正在尝试编写一个程序来为 Fraction 类编写三个特殊方法,这些方法重载运算符以在 a 和 b 之间执行丰富的比较。 (a b,a==b)。示例如下:

>>>a = Fraction(1, 2)
>>>b = Fraction(1, 3)
>>>a==b
False
>>>a > b
True
>>>a < b
False
>>>a = Fraction(4, 8)
>>>b = Fraction(2, 4)
>>>a ==b
True
>>>a > b
False
>>>a < b
False

我真的不明白它要求做什么。任何有关如何帮助我开始的帮助都会很棒。谢谢。

最佳答案

这里有简单的代码来展示这应该如何作为示例。在Python中很简单,因为它默认有eqne......你只需要更改逻辑部分。

  class Fraction:
a = 0
b = 0

def __init__(self,A,B):
self.a=A
self.b=B
def __eq__(self,other):
return (self.b/self.a) == (other.b/other.a)

def __ne__(self,other):
return not(self.__eq__)

#*****************************
# below code only demo, not for your logical
#*****************************
def __lt__(self,other):
return (self.a<other.a)

def __le__(self,other):
return(self.a<=other.a)

def __gt__(self,other):
return(self.a>other.a)

def __ge__(self,other):
return(self.a>=other.a)



fra_1=Fraction(4,8)
fra_2=Fraction(2,4)
print("(fra_1==fra_2) is:",fra_1==fra_2)

关于Python 面向对象编程。编写程序来执行丰富的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48958961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com