Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果x>;0到x?_Python - Fatal编程技术网

Python 如果x>;0到x?

Python 如果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>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 -= 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这不是这个函数的目的。它的目标是将输入数值的所有单个数字放入列表中。