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

如果出现['bob', 'about', 'aboua', 'zoi', 'Zoo', 'Credit'] 忽略大小写排序,代码执行后没有语法错误,但就是执行timeout 估计是逻辑有误,麻烦帮忙指正啊


def cmp_ignore_case(s1, s2):

        if s1[0].lower() > s2[0].lower():

            return 1    

        elif s1[0].lower() == s2[0].lower():

            i = 1

            while i < min(len(s1), len(s2)):

                if s1[i].lower() > s2[i].lower():

                    return 1

                    break

                elif s1[i].lower() < s2[i].lower():

                    return -1

                    break

                else:

                    continue

                    i += 1

        else:

            return -1                             

print sorted(['bob', 'about', 'aboua', 'zoi', 'Zoo', 'Credit'], cmp_ignore_case)


正在回答

1 回答

你好,看了下你的代码,其中致命的错误在于,你不应该把i+=1放在continue后面,当执行了continue,其后的代码将不会运行,所以i一直就不会变化,造成死循环,其次是不影响运行和功能的错误,你这里面的break完全可以去掉,因为当return执行时也就没有后面的代码啥事了。大家都是在学习的路上,望共勉,谢谢!

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

举报

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

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

进入课程

如果出现['bob', 'about', 'aboua', 'zoi', 'Zoo', 'Credit'] 忽略大小写排序,代码执行后没有语法错误,但就是执行timeout 估计是逻辑有误,麻烦帮忙指正啊

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号