我做了一个我相信会带一个字符串并返回每个字母在“我爱Python”一词中出现多少次的函数,但是当我运行代码时:
def countletters(s):
s = s.lower()
letters = {'I' :0, 'l':0, 'o':0, 'v':0, 'e':0, 'P':0, 'y':0, 't':0, 'h':0, 'o':0, 'n':0}
for char in s:
if char in letters:
letters[char]+=1
return letters
def printResults(result_dict):
print
所有输出窗口显示的是我的输入,而没有输出,使我相信我的打印方法不正确,但是我的代码还有其他错误吗?
答案 0 :(得分:0)
我注意到您的代码中存在一些错误:
def countletters(s):
s = s.lower()
首先,s = s.lower()
行应缩进。
第二,在字典中,由于字符串"I"
已更改为所有小写字母,因此应将键s
更改为“ i”。
此外,在您的其余代码中,还有许多错误: def printResults(result_dict): 打印
错误1:result_dict
您已将result_dict设置为printResults
函数的参数。应该使用这个。否则会浪费。
错误2:缩进
您应该在printResults
函数内使用制表符或四个空格来缩进代码。
错误3:打印
print
函数需要使用括号()
来告诉Python打印什么。
错误4:同时打印
您不使用该打印功能进行任何打印。也许更改为使用countletters
打印print(result_dict)
函数的结果。
此外,您应该运行printResults
并使用countletters
返回的内容作为参数。例如:
printResults(countletters("I love python"))
错误5:功能
为了使用函数内部的代码,您需要调用它们。例如:
countletters("I love python")
编辑:Barmar已为您修复了缩进。
答案 1 :(得分:0)
如果您的示例字符串是
第1步:
s = 'i love python'
您的功能是:
def countletters(s):
s = s.lower()
letters = {'i' :0, 'l':0, 'o':0, 'v':0, 'e':0, 'p':0, 'y':0, 't':0, 'h':0, 'o':0, 'n':0}
for char in s:
if char in letters:
letters[char]+=1
return letters
第2步:
结果:
print(countletters(s))
>>> {'i': 1, 'l': 1, 'o': 2, 'v': 1, 'e': 1, 'p': 1, 'y': 1, 't': 1, 'h': 1, 'n': 1}