python main()未在shell中执行
我试图在main中运行我的展平(li)功能,但在运行模块时它没有运行。但当我在shell中输入“flatte(li)”时,它正在工作。有什么想法吗?谢谢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
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)仅用于函数、类和模块。