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

Pycharm一直报错

import math

def cmp_ignore_case(s1,s2):  

 u1=s1.upper()    

u2=s2.upper()    

if u1>u2:      

 return -1    

if u2<u2:        

return 1  

 return 0

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

在PyCharm中输入的上面这段代码,一直提示错误: TypeError: must use keyword argument for key function 这个怎么解决?谢谢

正在回答

2 回答

首先你的这个排版有问题,Python对于排版的要求很高,可能由于缩进的问题而导致程序无法运行

import math

def cmp_ignore_case(s1,s2): 

    u1=s1.upper()    

    u2=s2.upper()    

    if u1>u2:

        return -1    

    if u2<u2:        

        return 1  

    return 0


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

我将你的代码缩进改了一下,在慕课网上提供的编程环境是可以运行的,下次注意代码块的缩进问题哦!!!

下为截图:

http://img1.sycdn.imooc.com//584134b7000108a009280268.jpg


1 回复 有任何疑惑可以回复我~
#1

慕粉4415100 提问者

非常感谢!
2017-02-13 回复 有任何疑惑可以回复我~

import math

print(sorted(['bob','about', 'Zoo','Credit'],lambda s1,s2:cmp(s1.lower(),s2.lower())))

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

举报

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

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

进入课程

Pycharm一直报错

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