我要做的是,我还没有完成它,但我现在有这个代码:
def delete(self):
t=1
if isinstance(self.root,odd):
child=self.left
grandchild=child.right
if self.left == self.right==None:
return None
if self.left==None:
return self.right
if self.right==None:
return self.left
if grandchild:
while grandchild.right:
child = grandchild
grandchild = child.right
self.data = grandchild.data
child.right = grandchild.left
else:
self.left = child.left
self.data = child.data
return self
if isinstance(self.root,even):
我还没有完成代码,但是对于赋值,它应该做两种选择(几乎相同的事情,但不是向左,然后向右尽可能,我要向右,然后向左尽可能)。我想的是在每个循环后加上t+=1,如果数字是奇数,我想让它进入第一个循环,如果是偶数,我想让它进入另一个循环(我还没有做那个循环)。我可以很容易地做到这一点(因为我想做,如果isinstance(t,偶数)和如果isinstance(t,奇数),但python似乎没有这种语法?什么好主意吗?
根据我的理解,你想算出t是不是odd or even
。
你应该使用%(模)运算符。
if t%2 == 0: # then it is even (divisible by 2)
if t%2 == 1: # it is odd (not divisible by 2)
我希望这能回答你的问题