提问人:5P33DC0R3 提问时间:8/7/2023 更新时间:8/8/2023 访问量:75
无法将 .capitalize() 或 .title() 方法应用于字符串
Can't apply .capitalize() or .title() method to a string
问:
我正在尝试创建一个程序,提示用户输入新成员。然后,该成员将被添加到该文件中。一切都很顺利,但我无法将 .title() 或 .capitalize() 方法应用于该成员名称。
member = input("Enter a new 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()
我不知道缺少什么,但我只想为用户输入的字符串添加标题。
答:
0赞
nisakova
8/8/2023
#1
大写的标题
member = input("Enter a new member: ").upper()
test = "hello"
test.upper() # HELLO
test.title() # Hello
评论
1赞
moken
8/8/2023
字符串的上写字母否定了前一个标题,因此请使用其中一个,而不是两者兼而有之。
0赞
nisakova
8/8/2023
是的,这是真的,谢谢
1赞
Sadegh Moayedizadeh
8/8/2023
#2
title 和 capitalize 方法返回一个新字符串,因为该类型在 Python 中是不可变的,对此的任何更改都将创建一个新对象。因此,您只需要将修改后的字符串存储到一个新变量中,最好是同名的变量。str
此外,我强烈建议使用使用符号的方法,因为这样可以确保文件将被关闭。在代码中,如果在按 之前发生异常,则文件将保持打开状态。open
with
close
这是我的代码版本:
member = input("Enter a new member: ")
member = member.title()
with open("members.txt", 'rw') as file_:
existing_members = file_.readlines()
existing_members.append(member + '\n')
file_.writelines(existing_members)
评论
member = member.title()
如果你想以后使用它,你需要把它分配给某个变量,或者你可以这样做member = input("Enter a new member: ").title()
member
upper case
abc = member.upper()