【发布时间】:2014-02-23 22:25:40
【问题描述】:
一段时间以来,我一直在编写一个依赖于许多其他函数来返回答案的函数。当我完成它时,它说我在某处错误地使用了“*”。我经历了一切,看不出问题。终于发现是因为前面定义了一个简单的阶乘函数,如下图:
if n == 0:
return 1
elif n < 0 or (type(float)):
print "%s is an invalid input; Positive integer value is required" % (n)
else:
return (n)*fact(n-1)
但是,如果我输入 n = 6,它会返回 6 是一个浮点数,从而退出函数的其余部分,我希望有人能回答为什么会发生这种情况以及如何解决它。
非常感谢
【问题讨论】:
-
type(float)返回一个类型,所以它总是正确的