我有一个字符串形式的名字,在这个例子中是“markus johansson”。
我正在尝试编写一个使“m”和“j”大写的程序:
name = "markus johansson"
for i in range(1, len(name)):
if name[0] == 'm':
name[0] = "M"
if name[i] == " ":
count = name[i] + 1
if count == 'j':
name[count] = 'J'
我很确定这应该有效,但它给了我这个错误:
File "main.py", line 5 in <module>
name[0] = "M"
TypeError: 'str' object does support item assignment
我知道有一个名为.title() 的库函数,但我想做“真正的编程”。
我该如何解决这个问题?
最佳答案
我想您要实现的目标是:
from string import capwords
capwords(name)
产生:
'Markus Johansson'
编辑:好的,我知道你想推倒一扇敞开的门。 这是低级别的实现。
''.join([char.upper() if prev==' ' else char for char,prev in zip(name,' '+name)])
关于python - 在 Python 中使用标题大写字符串的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609830/