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

哪里错的了

def format_name(s):    s[0]=s[0].upper()    s[1:]=s[1:].lower()    return s print (list(map(format_name, ['adam', 'LISA', 'barT']))) 为什么我的是错的 list下面是没错的 因为python用的是3.5

正在回答

3 回答

'str' object does not support item assignment

s[0] 是字符串,不是变量,不能直接赋值,你随便改个变量名就行了。

你这个语法相当于‘a’='A',这个肯定报错啊

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

def format_name(s):
    s0 = s[0].upper()
    s1 = s[1:].lower()
    return s0+s1

print(list(map(format_name,['adam', 'LISA','BARt'])))

你把等号左边的s[0]、s[1:]改成s0、s1就行了

2 回复 有任何疑惑可以回复我~
 ============================

Traceback (most recent call last):
  File "D:/haha.py", line 5, in <module>
    print (list(map(format_name, ['adam', 'LISA', 'barT'])))
  File "D:/haha.py", line 2, in format_name
    s[0]=s[0].upper()
TypeError: 'str' object does not support item assignment

跑出来结果是这样,首先最后一行的写法错误,所以报错。

第二,解释器说,字符串的对象不支持,写成这样吧

s=s[0].upper()

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

举报

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

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

进入课程

哪里错的了

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

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

帮助反馈 APP下载

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

公众号

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