为了账号安全,请及时绑定邮箱和手机立即绑定

代码问题!!

    def __cmp__(self, s):

        if self.score > s.score:

            return -1

        elif self.score == s.score:

            if self.name >s.name:

                return 1

            elif self.name <s.name:

                return -1

            else:

                return 0

        else:

            return 1


     if self.score > s.score:

            return -1

不太懂这里为什么是小于返回是1  cmp函数不是下x<y时,返回的是1吗?


正在回答

2 回答

赞在保护机构毒素和部分都是 vcnhvdj

  在python中,CMP是默认生序的,就是你说的X>Y,输出的时候为1,当X< Y的时候,输出的时候就变成了-1,所以看返回值是要观察题目中是说生序还是将序

0 回复 有任何疑惑可以回复我~

看你按什么顺序,从小到大,与从大到小,不同的写法。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

代码问题!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信