鱼C论坛

 找回密码
 立即注册
查看: 1897|回复: 9

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

[复制链接]
发表于 2020-3-28 11:45:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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 12:57:12
>>> print(". ".join([each.capitalize() for each in "she likes it. it's cute. they play together.".split(". ")]))
She likes it. It's cute. They play together.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-28 11:49:05 | 显示全部楼层
用str.title()让单词开头大写
capitalize()只让句子开头大写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-28 11:55:37 | 显示全部楼层
_荟桐_ 发表于 2020-3-28 11:49
用str.title()让单词开头大写
capitalize()只让句子开头大写

我想让一段三个句子,每个句子的首字母变大写。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-28 12:02:30 | 显示全部楼层
capitalize()的作用确实如此。
它不是让句子的首字母变成大写,
而是将字符串的首字母变成大写,将其他字母变成小写。
不区分字符串中有多少个句子。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-28 12:11:34 From FishC Mobile | 显示全部楼层
我想到可以先用关键字把字符串中的句子拆开,用循环添加
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-28 12:57:12 | 显示全部楼层    本楼为最佳答案   
>>> print(". ".join([each.capitalize() for each in "she likes it. it's cute. they play together.".split(". ")]))
She likes it. It's cute. They play together.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-28 15:31:57 | 显示全部楼层
sunrise085 发表于 2020-3-28 12:02
capitalize()的作用确实如此。
它不是让句子的首字母变成大写,
而是将字符串的首字母变成大写,将其他字 ...

谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-28 15:34:09 | 显示全部楼层
_荟桐_ 发表于 2020-3-28 12:01
应该没有那个方法,我写了一个函数:

谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-28 15:34:52 | 显示全部楼层
马当 发表于 2020-3-28 12:11
我想到可以先用关键字把字符串中的句子拆开,用循环添加

谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-25 05:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表