ssss1111 发表于 2020-3-28 11:45:50

capitalize ()只能使第一句首字母大写,不能对全段起作用

本帖最后由 ssss1111 于 2020-3-28 11:54 编辑

capitalize ()只能使第一句首字母大写,不能对全段起作用

目的
一段话有三句话,使三句话的首字母都变成大写(不是让每个单词首字母变大写)。

问题
使用capitalize(),只能使第一句首字母变成大写。我的版本是Python 3.7.3。是我的版本问题,还是确实如此?
代码如下:"she likes it. it's cute. they play together.".capitalize()结果如下:
"She likes it. it's cute. they play together."
只有第一句变大写了,后面两句没有变。


_荟桐_ 发表于 2020-3-28 11:49:05

用str.title()让单词开头大写
capitalize()只让句子开头大写

ssss1111 发表于 2020-3-28 11:55:37

_荟桐_ 发表于 2020-3-28 11:49
用str.title()让单词开头大写
capitalize()只让句子开头大写

我想让一段三个句子,每个句子的首字母变大写。

_荟桐_ 发表于 2020-3-28 12:01:55

ssss1111 发表于 2020-3-28 11:55
我想让一段三个句子,每个句子的首字母变大写。

应该没有那个方法,我写了一个函数:
def daxie(string):
    string = 'i love fish.i asdfa.sadfas'
    string = string.split('.')
    a = ''
    for i in string:
      a += i.capitalize()
      a += '.'
    print(a)

string = input('输入string:')
daxie(string = string)

sunrise085 发表于 2020-3-28 12:02:30

capitalize()的作用确实如此。
它不是让句子的首字母变成大写,
而是将字符串的首字母变成大写,将其他字母变成小写。
不区分字符串中有多少个句子。

马当 发表于 2020-3-28 12:11:34

我想到可以先用关键字把字符串中的句子拆开,用循环添加

一个账号 发表于 2020-3-28 12:57:12

>>> print(". ".join())
She likes it. It's cute. They play together.

ssss1111 发表于 2020-3-28 15:31:57

sunrise085 发表于 2020-3-28 12:02
capitalize()的作用确实如此。
它不是让句子的首字母变成大写,
而是将字符串的首字母变成大写,将其他字 ...

谢谢!

ssss1111 发表于 2020-3-28 15:34:09

_荟桐_ 发表于 2020-3-28 12:01
应该没有那个方法,我写了一个函数:

谢谢!

ssss1111 发表于 2020-3-28 15:34:52

马当 发表于 2020-3-28 12:11
我想到可以先用关键字把字符串中的句子拆开,用循环添加

谢谢!
页: [1]
查看完整版本: capitalize ()只能使第一句首字母大写,不能对全段起作用