Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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
Python 创建在文本中查找大写单词的映射器_Python_Mapper - Fatal编程技术网

Python 创建在文本中查找大写单词的映射器

Python 创建在文本中查找大写单词的映射器,python,mapper,Python,Mapper,实现FileCounter,它接受任何种类的字符串,并返回该字符串中大写的字数,包括最后一个和第一个字符 def文件计数器: sr=0 对于文本中的单词: #... 返回sr 我一直在思考如何处理这个问题。将文本拆分为空白,然后重复这些单词: def countCapitalized(文本): 计数=0 对于text.split()中的单词: 如果word.isupper(): 计数+=1 返回计数 如果大写表示只需要大写第一个字母,则可以将word.isupper()替换为word[0]。

实现FileCounter,它接受任何种类的字符串,并返回该字符串中大写的字数,包括最后一个和第一个字符

def文件计数器:
sr=0
对于文本中的单词:
#...
返回sr

我一直在思考如何处理这个问题。

将文本拆分为空白,然后重复这些单词:

def countCapitalized(文本):
计数=0
对于text.split()中的单词:
如果word.isupper():
计数+=1
返回计数
如果大写表示只需要大写第一个字母,则可以将
word.isupper()
替换为
word[0]。isupper()
使用以下方法:

def count_upper_words(text):
    return sum(1 for word in text.split() if word.isupper())
说明:

  • split()通过空格或换行将文本切分为单词
  • 所谓的“调用”比显式for循环工作得更快,而且看起来更好

首先,“这有用吗”不是一个好问题。你自己测试一下,看看是否可以。其次,
split
默认情况下会分割所有空白,包括换行符。如果我理解正确,它已经实现并调用了
sum
。它在你的环境中工作吗?使用正则表达式。这能回答你的问题吗?请阅读以下内容:堆栈溢出不是一个抛掷家庭作业问题的地方。