搜索字母 S 在单词 Mississippi 中出现的次数

searching the number of times the letter s appears in the word Mississippi

提问人:Baziga 提问时间:10/24/2023 更新时间:10/24/2023 访问量:56

问:

我试图找出字母“s”在“密西西比州”一词中出现的次数。为什么我的代码不起作用?我应该得到 4 的输出。

def find(word,letter):
    index=0
    while index <len(word):
        if word[index]==letter:
            return index
            index=index
print (index)


find("mississippi", "s")
Python 函数 索引 返回

评论

1赞 Joe 10/24/2023
你认为在这个例子中会发生什么?练习故障排除将比仅仅告诉您答案的人更能帮助您。编辑你的帖子,包括你认为一步一步发生的事情,我相信有人会帮助指出任何错误。
0赞 Codist 10/24/2023
您的代码引发 NameError 异常。你也可以考虑使用 str 对象的内置 count() 函数

答:

0赞 ItsMe 10/24/2023 #1

我认为您没有添加计数器,并且索引没有增加。我重新设计了你的代码:

def find(word,letter):
    index=0
    times=0 #added variable to hold number of times

    while index <len(word):
       
        if word[index]==letter:
            times+=1 #this will increase the counter when the letter is matched
        index += 1 #this will increase the index
    print (times)


find("mississippi", "s")

评论

0赞 journpy 10/25/2023
你也可以使用 for 循环: my_str = 'Mississippi' counter = 0 for s in my_str: if s == 's': counter += 1 print(counter)
0赞 Baziga 10/26/2023
真的很感激!