python - 在 Python 中使用标题大写字符串的问题

标签 python string uppercase

我有一个字符串形式的名字,在这个例子中是“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/

相关文章:

php - php中的奇怪输出

javascript - 替换 JavaScript 或 JQuery 中的解码 url

java - 爬取content-type非text/html的URL

java - 通过使用while/for循环,如何仅减去用户输入的一行的大写字母?

android - 按钮文本在android中自动更改为大写字母

python - 如何在 Django Rest 框架中允许无需身份验证即可访问基本路由

python - 图形工具:通过用户定义的标签查找顶点

python - 使用 python 提取完整的 XML block

python flask+gevent 不释放内存。限制.conf

python - 将大写字符串字典转换为大写字符串文本