Python挑战练习-进阶挑战50
编写一个程序,计算句子中每个单词中某个字符出现的次数。
注意: 我们将英文字母的大小写当作同一个字符。例如,如果一个单词中同时包含S和s,那么它们都将被计为同一个字母s的出现次数。
-
定义函数
count_char_occurrences()
,有两个参数:sentence
(句子)和char
(字符)。 -
在函数内部,将
sentence
转换为小写。 -
返回一个列表,包含
char
在句子的每个单词中出现的次数。
分析:①要判断每个单词中某个字符出现的次数,所以要把句子用split分成几个单词
②将英文字母的大小写当作同一个字符,所以用lower把大写字母转成小写字母
③char
在句子的每个单词中出现的次数,所以要写一个for循环进行遍历
def count_char_occurrences(sentence, char):
sentence = sentence.lower()
words = sentence.split()
result = []
for word in words:
count = word.count(char.lower())
result.append(count)
return result
# 获取输入
sentence_input = input()
char_input = input()
# 调用函数
print(count_char_occurrences(sentence_input, char_input))
在 Python 中,count()
是字符串对象的一个内置方法,它用于统计字符串中某个子字符串出现的次数。以下是对 count = word.count(char.lower())
中 count()
方法的详细解释:
1. 基本用法
-
count()
方法的语法是string.count(substring, start, end)
,其中:-
substring
是要计数的子字符串。 -
start
(可选)是开始搜索的索引,默认为 0,表示从字符串的开头开始搜索。 -
end
(可选)是结束搜索的索引,默认为字符串的长度,表示搜索到字符串的末尾。
-
2. 在代码中的使用
-
在
count = word.count(char.lower())
中:-
word
是一个字符串,代表句子中的一个单词。 -
char.lower()
将字符char
转换为小写,这样做是为了不区分大小写,将大写和小写的同一字母视为相同的字符。 -
word.count(char.lower())
会统计char
(小写形式)在word
中出现的次数。
-
例如,对于字符串 "banana"
:
-
word.count('a')
会返回 3,因为a
在"banana"
中出现了 3 次。 -
word.count('n')
会返回 2,因为n
在"banana"
中出现了 2 次。