Python算法在数字中填充零

2024-04-24 00:09:46 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,是的,我知道str(n).zfill(width)在数字前面填充0非常有效。在

但是有人试过为这个问题编写自己的算法吗?我试过了。。。在

def printNodeNames(name, first, last, numPadZeros):
    for i in range(first, last+1):
        s = ""
        for j in range(0, numPadZeros):
            if i >= 10**j and i < 10**(j+1):
                zeros = ""
                for k in range(0, numPadZeros-j):
                    zeros = zeros + "0"
                s = name + zeros + str(i)
        nodes[i-1:i] = [s]
    return nodes

上面的函数支持打印计算集群的节点名,但它不起作用。示例:

^{pr2}$

作为一种练习,有人能理解为什么它不起作用吗?在


Tags: namein算法fordefzerosrange数字
1条回答
网友
1楼 · 发布于 2024-04-24 00:09:46

如果if语句为true,则只能将值赋给s。在节点10及以上的情况下,if语句从不为真,因此s仍然是""。在

要更改它,请将s的赋值移出内部for块。并在for块之前设置zeros = ""。在

相关问题 更多 >