![](/img/trans.png)
[英]Using a for loop to count the number of total letters and the number of a specific letter\
[英]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.