I need to implement a DNA class which has attribute a sequence which consists of a string of characters from the alphabet ('A,C,G,T') and I need to overload some operators like less than, greater than, etc..
here is my code:
class DNA:
def __init__(self, sequence):
self.seq = sequence
def __lt__(self, other):
return (self.seq < other)
def __le__(self, other):
return(self.seq <= other)
def __gt__(self, other):
return(self.seq > other)
def __ge__(self, other):
return(len(self.seq) >= len(other))
def __eq__(self, other):
return (len(self.seq) == len(other))
def __ne__(self, other):
return not(self.__eq__(self, other))
dna_1=DNA('ACCGT')
dna_2=DNA('AGT')
print(dna_1 > dna_2)
Problem:
when I print(dna_1>dna_2)
it returns False
instead of True
... Why?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…