Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';I’我想知道如何计算Python中字符串句子中字母大写的次数_Python_Count_Capitalization - Fatal编程技术网

I';I’我想知道如何计算Python中字符串句子中字母大写的次数

I';I’我想知道如何计算Python中字符串句子中字母大写的次数,python,count,capitalization,Python,Count,Capitalization,我被要求将句子中每个单词的第一个字母大写,并返回已大写的字母数。到目前为止,我有: text = input('Enter a sample text:\n') sentence = text.split('.') for i in sentence: print (i.strip().capitalize()+". ",end='') 我只需要弄清楚如何计算一个字母大写的次数。将每一行分隔成单词,然后比较一个单词是否大写并计数 text = 'Enter a samp

我被要求将句子中每个单词的第一个字母大写,并返回已大写的字母数。到目前为止,我有:

text = input('Enter a sample text:\n')
sentence = text.split('.')
    for i in sentence:
        print (i.strip().capitalize()+". ",end='')

我只需要弄清楚如何计算一个字母大写的次数。

将每一行分隔成单词,然后比较一个单词是否大写并计数

text = 'Enter a sample text:'
words = text.split()
count = 0
text_out = ''

for word in words:
    if word != word.capitalize():
        word = word.capitalize()
        count += 1
    text_out = text_out + ' ' + word

text_out = text_out.strip()
print(count)
编辑时,有一种更好的方法可以使用标题将每个字母大写

text_out = text_out.title()

将每行分隔成单词,比较单词是否大写,然后计数

text = 'Enter a sample text:'
words = text.split()
count = 0
text_out = ''

for word in words:
    if word != word.capitalize():
        word = word.capitalize()
        count += 1
    text_out = text_out + ' ' + word

text_out = text_out.strip()
print(count)
编辑时,有一种更好的方法可以使用标题将每个字母大写

text_out = text_out.title()

标准库中有一个
title
函数,用于大写每个单词的第一个字母:

>>> x = 'one two Three four'

>>> x.title()
'One Two Three Four'
那么剩下的唯一一件事就是计算原始字符串和修改后的字符串之间不同的字符数。理解可以很好地表达这一点:

>>> sum(1 for (a, b) in zip(x, x.title()) if a != b)
3
但是,请注意,只有当标题大小写字符串与原始字符串具有相同的长度时,这种方法才有效。例如,如果输入字符串包含
ß
,它将不起作用,因为:

>>> 'ß'.title()
'Ss'

标准库中有一个
title
函数,用于大写每个单词的第一个字母:

>>> x = 'one two Three four'

>>> x.title()
'One Two Three Four'
那么剩下的唯一一件事就是计算原始字符串和修改后的字符串之间不同的字符数。理解可以很好地表达这一点:

>>> sum(1 for (a, b) in zip(x, x.title()) if a != b)
3
但是,请注意,只有当标题大小写字符串与原始字符串具有相同的长度时,这种方法才有效。例如,如果输入字符串包含
ß
,它将不起作用,因为:

>>> 'ß'.title()
'Ss'

你应该对已经大写的单词打折吗?你应该对已经大写的单词打折吗?你是在写第一次海报,也许他们应该对你的代码做一点注释,不是吗?你是在写第一次海报,也许他们应该对你的代码做一点注释,不是吗?