简单的Python命令无法按预期工作。我无法弄清楚我做错了什么

时间:2017-09-12 21:45:57

标签: python

我创建了一个名为readBinaryWatch的函数,出于某些原因,当我的num = 2时,我得到了答案1.15。经过长时间的调试后,我仍然无法弄清楚为什么我的解决方案中有1:15而不是1:16

当我输入print语句时,你可以告诉我的h,m打印

1.08

1.0 0.08 8.0

['3:00','5:00','9:00','1:01','1:02','1:04','1:08']

1.16

1.0 0.16 16.0

['3:00','5:00','9:00','1:01','1:02','1:04','1:08','1:15 “] 问题是 1:15来自哪里!?!??!请帮忙。

这是代码

def readBinaryWatch(num):
    """
    :type num: int
    :rtype: List[str]
    """
    time=[1,2,4,8,.01,.02,.04,.08,.16,.32]
    def dfs(i,n,path):
        if not n:
            print path
            h,m=divmod(path,1)
            print h,m,m*100
            ret.append('%d:%02d' % (h, m*100))
            print ret
        for j in xrange(i,len(time)):
            dfs(j+1,n-1,path+time[j])
    ret=[]
    dfs(0,num,0)
    return ret

0 个答案:

没有答案