在python中包含字典的函数
这是我的任务: 编写一个名为count_letters的函数,该函数将字符串作为参数,并返回一个字典,该字典列出该字符串中每个字母的数量。字符串可以包含字母以外的字符,但只能计算字母。该字符串甚至可以是空字符串。字母的小写和大写版本应为同一计数的一部分。字典的键应该是大写字母。如果字符串中没有字母,则不会将其添加到字典中。例如,如果字符串为 “AaBb” 然后返回的字典应包含以下键值对: {'A':2,'B':2} 这是我的代码:在python中包含字典的函数,python,dictionary,Python,Dictionary,这是我的任务: 编写一个名为count_letters的函数,该函数将字符串作为参数,并返回一个字典,该字典列出该字符串中每个字母的数量。字符串可以包含字母以外的字符,但只能计算字母。该字符串甚至可以是空字符串。字母的小写和大写版本应为同一计数的一部分。字典的键应该是大写字母。如果字符串中没有字母,则不会将其添加到字典中。例如,如果字符串为 “AaBb” 然后返回的字典应包含以下键值对: {'A':2,'B':2} 这是我的代码: def count_letters(string): d
def count_letters(string):
d = dict()
for x in string:
if x not in d:
d[x]= 0
else:
d[x] += 1
return d
它没有在字符串中返回正确的数字。你知道我做错了什么吗?作业上说只计算字母,但你在计算所有字母 作业中说字母的大小写版本应该一起计算,但你没有映射大小写 创建新词典条目时,它应以
1
开头以计算当前元素,而不是0
import char
def count_letters(string):
d = dict()
for x in string:
if char.isalpha(x): # only count letters
x = x.upper() # Convert lowercase to uppercase equivalent
if x not in d:
d[x]= 1
else:
d[x] += 1
return d
您没有说明字母的小写和大写版本应属于同一计数的要求。在您的代码中。也不是要求字符串可以包含字母以外的字符,但只应对字母进行计数。.d[x]=0可能应该是d[x]=1,否则计数将被一个好的捕获关闭,将其添加到答案中。