我正在尝试计算字符串中特定字母的出现次数。举个例子,我想计算字符串中的字母 a 和 b "acdjsfdklfdcfnqc"(字符串或特定字母不重要)。
首先,我定义了一个容器 c,它将使用 while 循环和 if 语句计算字母的出现次数。我的代码如下:
def iterate_through_elements(input_str):
c = 0
for elements in input_str:
if elements == "a":
c += 1
return c
这段代码有效,在这里我只是想计算字符串中 a 的数量,但是当我还想计算 b 时,我修改了我的代码,如下所示:
def iterate_through_elements(input_str):
c = 0
for elements in input_str:
if elements == "a" or "b":
c += 1
return c
我添加了一个或运算符,我的想法是同时计算 a 和 b,但我的第二个函数给了我字符串中的字母总数,就像 len() 函数一样。然后我设法使用上面的功能实现了我的目标:
def get_count(inputStr):
num_vowels = 0
for char in inputStr:
if char in "ab":
num_vowels = num_vowels + 1
return num_vowels
我的主要问题是:为什么我从顶部开始的第二个代码给了我字符串中的字母总数?
我希望它遍历每个元素并查找它是 a 还是 b,如果是 a 或 b,则将容器(变量 c)加一。我不明白 c 如何等于字符串的长度以及为什么它对单个字母有效(上面的第一个函数)而不是第二个?发生了什么变化?