Python 如果x>;0到x?
我只是想知道如果n>0Python 如果x>;0到x?,python,Python,我只是想知道如果n>0可以被代替,而n:可以吗 result = [] def func(n): if n > 0 : result.insert(0, n%10) func(n//10) return result 如果n>0:替换为,而n:则没有意义,因为循环体不会改变n。这意味着循环永远不会终止,这在本代码中没有用处 while(n): result.insert(0, n%10) func(n//10) n
可以被代替,而n:
可以吗
result = []
def func(n):
if n > 0 :
result.insert(0, n%10)
func(n//10)
return result
如果n>0:
替换为,而n:
则没有意义,因为循环体不会改变n。这意味着循环永远不会终止,这在本代码中没有用处
while(n):
result.insert(0, n%10)
func(n//10)
n -= 1
应该有用。试试这个:
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)]
不,你不能做那个替代品。原因是
while n:
相当于
while n == True:
什么是jay?你想做
func
?为什么不试试呢?当然,你最终会得到一个无限循环,因为你在循环中似乎没有改变n
。你可以用n
替换0
(只要你确信n
永远不会是负数),但是while
和if
不是一回事。首先@Andrew Li是对的jay是什么?根据你的问题,while和if是两个不同的结构……我的错。应该是func而不是jayth这不是这个函数的目的。它的目标是将输入数值的所有单个数字放入列表中。