我正在努力解决这个问题。我在它之后添加了我当前的代码,但它还没有工作。理想情况下,我不需要全局变量,但我不太确定如何在函数中声明字典,而不需要递归调用每次重置它
问题
为以下函数提供递归实现: def外观(s、低、高) 函数被赋予一个字符串s和两个索引:low和high(low<;=high),它们表示需要考虑的索引范围。 该函数应返回一个字典,该字典存储字符到每个字符在s中出现的次数的映射。也就是说,字典的键应该是s中的不同字符,它们的关联值应该是它们在s中出现的次数
例如,呼叫外观(“Hello world”,0,10)可以返回: {'e':1,'o':2,'H':1,'l':3,'r':1,':1,'d':1,'w':1}
注意:字典是一个可变对象。使用该属性更新递归调用返回的字典
我的代码
d = {}
def appearances(s, low, high):
global d
if low > high:
print(d)
else:
if s[low] in d:
d[s[low]] = int(d.get(s[low])) + 1
else:
d = {s[low]: 1}
appearances(s, low + 1, high)
不要使用
global
。使用return
-相关问题 更多 >
编程相关推荐