Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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 main()未在shell中执行_Python_Shell_Python Idle - Fatal编程技术网

python main()未在shell中执行

python main()未在shell中执行,python,shell,python-idle,Python,Shell,Python Idle,我试图在main中运行我的展平(li)功能,但在运行模块时它没有运行。但当我在shell中输入“flatte(li)”时,它正在工作。有什么想法吗?谢谢 li = [0, 2, [[2, 3], 8, 100, None, [[None]]], -2] def flatten(li): i = 0 while i < len(li): "only execute if the element is a list" while isi

我试图在main中运行我的展平(li)功能,但在运行模块时它没有运行。但当我在shell中输入“flatte(li)”时,它正在工作。有什么想法吗?谢谢

li = [0, 2, [[2, 3], 8, 100, None, [[None]]], -2]

def flatten(li):
     i = 0
     while i < len(li):
         "only execute if the element is a list"
         while isinstance(li[i], list):
             """taking the element at index i and sets it as the
                i'th part of the list. so if l[i] contains a list
                it is then unrolled or 'unlisted'"""
             li[i:i + 1] = li[i]
         i += 1

    for element in li:  
         if not element and not isinstance(element, int):
         li.remove(element)

    return li

def main():
    flatten(li)

if __name__ == '__main__':
    main()
li=[0,2,[[2,3],8100,无,[[None]]],-2]
def展平(li):
i=0
而我
当然,它是有效的——你只是不打印任何东西,所以你看不到任何东西。尝试添加
print
调用:

如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
main()
印刷品(李)
当然,它是有效的——你只是不打印任何东西,所以你看不到任何东西。尝试添加
print
调用:

如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
main()
印刷品(李)

您没有对输出执行任何操作。我不确定你希望看到什么,但这正是你想要的:

li = [0, 2, [[2, 3], 8, 100, None, [[None]]], -2]


def flatten(li):
    i = 0
    while i < len(li):
        while isinstance(li[i], list):
            li[i:i + 1] = li[i]
        i += 1

    for element in li:
        if not element and not isinstance(element, int):
            li.remove(element)

    return li


def main():
    flat = flatten(li)
    print(flat)


if __name__ == '__main__':
    main()
li=[0,2,[[2,3],8100,无,[[None]]],-2]
def展平(li):
i=0
而我
您没有对输出执行任何操作。我不确定你希望看到什么,但这正是你想要的:

li = [0, 2, [[2, 3], 8, 100, None, [[None]]], -2]


def flatten(li):
    i = 0
    while i < len(li):
        while isinstance(li[i], list):
            li[i:i + 1] = li[i]
        i += 1

    for element in li:
        if not element and not isinstance(element, int):
            li.remove(element)

    return li


def main():
    flat = flatten(li)
    print(flat)


if __name__ == '__main__':
    main()
li=[0,2,[[2,3],8100,无,[[None]]],-2]
def展平(li):
i=0
而我
你什么也看不见,因为你什么都不打印。你什么也看不见,因为你什么都不打印。非常感谢!如果我只是在shell中键入flatte(li),为什么不需要打印?另外,我的文档编制方式是否正确?当您键入
plant(li)
时,您正在调用
plant
函数,该函数返回
li
。默认情况下,shell将打印返回的值。当您调用
main
时,它调用的是
plant
,它将
li
返回到
main
,但是
main
函数没有对该对象执行任何操作
main
然后将
None
返回shell。非常感谢!如果我只是在shell中键入flatte(li),为什么不需要打印?另外,我的文档编制方式是否正确?当您键入
plant(li)
时,您正在调用
plant
函数,该函数返回
li
。默认情况下,shell将打印返回的值。当您调用
main
时,它调用的是
plant
,它将
li
返回到
main
,但是
main
函数没有对该对象执行任何操作
main
然后将
None
返回shell。非常感谢!如果我只是在shell中键入flatte(li),为什么不需要打印?另外,我的文档编制方式是否正确?如果您从python shell运行,它会自动打印出调用函数返回的内容——为了方便起见。不,您记录代码的方式不正确。改用注释(
#这里有一些注释)。您尝试记录东西的方式(docstring)仅用于函数、类和模块。非常感谢!如果我只是在shell中键入flatte(li),为什么不需要打印?另外,我的文档编制方式是否正确?如果您从python shell运行,它会自动打印出调用函数返回的内容——为了方便起见。不,您记录代码的方式不正确。改用注释(
#这里有一些注释)。您尝试记录事物的方式(docstring)仅用于函数、类和模块。