是否可以替换x> 0到x而x?

时间:2017-08-11 06:27:41

标签: python

我只是想知道if n > 0是否可以替换为while n:

result = []
def func(n):
    if n > 0 :
        result.insert(0, n%10)
        func(n//10)

    return result

4 个答案:

答案 0 :(得分:2)

试试这个:

result = []
def func(n):
    while n > 0 :
        result.insert(0, n%10)
        n = n//10

    return result

print(func(4210))

给出:

[4, 2, 1, 0]

你可以得到相同的结果:

result = [int(n) for n in str(4210)]

答案 1 :(得分:1)

if n > 0:替换为while n:是没有意义的,因为循环体不会改变 n 。这意味着循环永远不会终止,这在这段代码中不会有用。

答案 2 :(得分:0)

while(n):
    result.insert(0, n%10)
    func(n//10)
    n -= 1

应该工作。

答案 3 :(得分:0)

不,你无法取代。原因是因为

while n:

等同于

while n == True: