我想知道如何计算字符串中的特定字母。我脑子里首先想到的是len
函数。出于好奇,有没有一种方法可以在不使用内置函数和len
的情况下编写此代码?在
有一个问题被问到与此类似,我很难理解它。在
def count_letters(word, char):
count = 0
for c in word:
if char == c:
count = count + 1
return count
在if char == c:
和{}中到底发生了什么?我理解这个人为什么开始使用for
循环,但我不明白为什么在后面加一个if
?在
Tags:
字符串有一个内置的
count()
方法:需要使用
if
,因为您只想计算特定字符char
的实例。如果没有它,您将最终对字符串中的每个字符执行count = count + 1
,这样就可以得到完整的字符串长度,而不是要查找的特定字符的数量。在代码中有注释:
你试过Python Wiki吗?在
它声明任何具有迭代函数的对象都可以循环,这回答了您的第二个问题。在
因为您不想使用}。在
len
函数,所以您可以在链接的答案中使用类似于这样的for循环来遍历对象(字符串word
),查找字符char
,并记录每次用count
找到{参数
char
需要在word
参数中找到,因此c
只是一个变量,在它循环使用word
时,它只是一个设置为每个字母(或字符,不是字符串的所有部分都是字母)的变量。在if
语句的原因是,当循环变量c
等于char
时,可以执行块。在这个特定的块中,count被向上迭代(count = count + 1
),一旦函数遍历for循环,它将返回count
(找到char
的次数,有效地按您的要求计算字符串中的特定字母)。在长篇大论,但简而言之,是的,你发布的函数将给你一个字母在单词中出现的次数。在
相关问题 更多 >
编程相关推荐