【发布时间】:2018-11-02 19:19:28
【问题描述】:
对于一个学校项目,我必须编写一个函数来计算字符串中的字母数量,但也要计算特定字母的数量,但是当它是指定字母时,它似乎只会增加总字母数。我不明白为什么它没有在 3.7 中将 ascii_lowercase 注册为小写字母,除非我严重误解了某些东西。
def analyze_string(quote, search_letter):
count_letters = 0
count_occurance = 0
phrase = quote.lower()
letter = string.ascii_lowercase
length = len(phrase)
for i in phrase:
if i == letter:
count_letters = count_letters + 1
elif i == search_letter:
count_letters = count_letters + 1
count_occurance = count_occurance + 1
else:
count_letters = count_letters + 0
return count_letters, count_occurance
【问题讨论】:
-
为什么是
count_letters = count_letters + 0?任何东西 +0= 任何东西。 -
使用 REPL 或 print 语句查看
string.ascii_lowercase包含的内容可能有助于回答为什么i == letter条件不起作用 ;) 再深入一点,你就会明白了:)
标签: python string python-3.x counter