我只是想知道if n > 0
是否可以替换为while n:
?
result = []
def func(n):
if n > 0 :
result.insert(0, n%10)
func(n//10)
return result
答案 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: