繁体   English   中英

如何计算句子中特定字母的数量?

[英]How to count the number of a specific letter in a sentence?

所以我试图计算单词香蕉中字母 a 的数量

def count_letters(letter, ch):
    '''count the letter a in the fruit'''
    count = 0
    for char in letter:
        #when char equals a then and 1 to count
        if char == "ch":
            count += 1
    return count
print(count_letters("banana", "a"))

但是当我运行代码时,我得到 0

您的代码不起作用的原因之一是您将函数中的char与常量而不是输入ch 以下是实现算法的三种方式。

For 循环

def count_letters(letter, ch):
    count = 0
    for i in range(len(letter)):
        if letter[i] == ch:
            count += 1
    return count

count_letters('banana', 'a')  # 3

集合.计数器

from collections import Counter    
Counter('banana')['a']  # 3

生成器表达式

sum(i=='a' for i in 'banana')  # 3
if char == "ch":

您正在检查 char 是否等于“ch”,字面意思。

正确的做法是:

if char == ch:

首先,您没有考虑脚本中字母“a”的存在。 另外,您怎么能期望单个字符匹配多个字符的集合。

正确的方法是:

char == ch

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM