You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中无法对输入字符串应用.title()/.capitalize()方法的问题求助

问题:无法对输入的成员名称应用.title()或.capitalize()方法

你遇到的问题根源在于Python字符串的不可变性:.title()和.capitalize()方法不会直接修改原字符串变量,而是返回一个格式化后的新字符串。你当前的代码只是调用了方法,但没有把返回的新字符串重新赋值给member变量,所以原始输入值根本没被改变。

修正方案

把格式化后的结果重新赋值给member即可:

member = input("Enter a new member: ")
# 将.title()的返回值重新赋值给member
member = member.title()

file = open("members.txt", 'r')
existing_members = file.readlines()
file.close()

existing_members.append(member + '\n')

file = open("members.txt", 'w')
file.writelines(existing_members)
file.close()

两种方法的区别

  • .title():将每个单词的首字母大写,其余字母小写,比如输入"alice smith"会变成"Alice Smith"
  • .capitalize():仅将整个字符串的第一个字符大写,其余字符小写,比如输入"alice smith"会变成"Alice smith"

额外优化:用with语句管理文件(更安全)

Python的with语句会自动帮你关闭文件,避免因代码异常导致文件未关闭的问题:

member = input("Enter a new member: ")
member = member.title()

with open("members.txt", 'r') as file:
    existing_members = file.readlines()

existing_members.append(member + '\n')

with open("members.txt", 'w') as file:
    file.writelines(existing_members)

内容的提问来源于stack exchange,提问作者5P33DC0R3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 08:36:38