TypeError:range()整数结束参数预期,得到浮点数

时间:2017-04-05 01:24:27

标签: python debugging

这是leetcode的一个问题。 你正在爬楼梯。它需要n步才能达到顶峰。

每次你可以爬1或2步。您可以通过多少不同的方式登顶?

注意:给定n将是一个正整数。 为什么它表明了?

显示公司标签 显示标签

class Solution(object):
    def climbStairs(self, n):

        twostairtimes = math.floor(n/2)
        result = 0
        twostairresult = 0

        while (twostairtimes>=0):
            onestairtimes = n - (2 * twostairtimes)
            if onestairtimes == 0:
                result+=1
            elif twostairtimes ==0:
                result+=1
            else:
                result += self.jiecheng(n)/(self.jiecheng(twostairtimes)*self.jiecheng(onestairtimes))
                result += 1
            twostairtimes=twostairtimes-1

        return result

    def jiecheng(self,n):
        c = 1
        for i in range(n+1):
            c  *= i
        return c

2 个答案:

答案 0 :(得分:0)

如果您确定ninteger,则会像这样:

range(int(n+1))

答案 1 :(得分:0)

twostairtimes = math.floor(n/2)更改为twostairtimes = n//2或升级到第3章.CG问题已解决