我正在参加麻省理工学院的公开类(class),他们的第一个测验中有这段代码。
def f(s):
d = {}
for c in s:
if c in d.keys():
d[c] += 1
else: d[c] = 1
print d
x = None
for k in d.keys():
if x == None:
x = d[k]
y = k
elif d[k] > x:
x = d[k]
y = k
return y
问题是:
Is f total, i.e., defined for all values of s of type str?
我认为 f 是合计的,因为字符串中的任何内容,包括数字和特殊字符,都可以通过代码放入。我什至很接近?
请您参考如下方法:
唯一不起作用的情况是空字符串,如果他们认为这是一个有效的字符串(我会,作为边缘情况)。对于 s = '' , y永远不会被定义,你会得到
UnboundLocalError: local variable 'y' referenced before assignment
对于所有非空字符串,是的,函数是“总计”。根据Wolfram MathWorld “总功能”定义为
A function defined for all possible input values.
