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

大神帮忙看看这么写为什么不对

L=['adam','LISA','bart']

def f(x):

x.upper(L)

return x

print map(f.L)


正在回答

2 回答

我还是推荐你下载一个集成开发环境,也就是IDE。软件叫做Pycharm。你运行后才知道你到底错在哪里。

下面来看你的代码(基本语法错误):

L=['adam','LISA','bart']
def f(x):
x.upper(L) #你要空四格
return x   #你也要要空四格
print map(f.L)  #不是f.L   而是f,L

好的,现在给你看看正确代码的逻辑(你的代码逻辑是错的而且很乱就不解释了):

def format_name(s): #定义函数
    return s[0].upper() + s[1:].lower() #空了四格,是函数format_name(s)体内的函数
print map(format_name, ['adam', 'LISA', 'barT']) #看到了吗?是英文输入法下的逗号哦!,

一个函数执行后要有返回(return),对于adam,s[0]代表a这个字符,所以s[0].upper就是A。s[1: ]代表a以后的字符串,也就是dam。所以s[1:].lower()就是将dam小写。同理执行LISA和barT。

map是分别对list列表里的每个元素进行format_name()函数处理的意思。

共勉~

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

L = ['adam', 'LISA', 'bart']

def f(x):

    x = x.upper()

return x

print map(f, L)

#你的def里就没有L变量传入

#def 是函数,L是变量,变量的参数应该传入函数 从而得到返回值,我觉得应该是这样的思想才对

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

举报

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

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

进入课程

大神帮忙看看这么写为什么不对

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