def Cal_C(m,n):
M,N,N_1 = 1,1,1
for i in range(1,m+1):
M *= i
for j in range(1,n+1):
N *= j
for l in range(1,n-m+1):
N_1 *= l
return N/M/N_1
def Sum_c(C,m,n):
s = 0
for i in range(1,m+1):
s += C(i,n)
return s
a = eval(input())
b = eval(input())
if a <= 0 or b<= 0:
print("invalid")
else:
if a >= b:
print(Sum_c(Cal_C(b.a),b,a))
else:
print(Sum_c(Cal_C(a,b),a,b))
运行此代码出错,出现'float' object is not callable的类型错误,
因为此代码先定义了一个函数Cal_C(),再定义了一个函数Sum_c,第一个参数需传入一个函数,此函数作用是计算不同C(m,n)的和。在最后调用Sum_c函数时,第一个参数写入了Cal_C(b,a),导致报错,修改为Cal_C即可。