打印出函数和字符串不起作用!python

打印出函数和字符串不起作用!python,python,Python,我有一个函数,它基本上会生成一个名为main的列表,我想把这个函数打印10次。为此,我使用了一段代码: for x in range(10): x += 1 print(str(x) + " - " + str(main()) + "\n")` 我想要的输出是: 1 - [3, 5, 10, 28, 33] 2 - [5, 12, 28, 33, 34] 但我得到的结果是: [3, 5, 10, 28, 33] 1 - None [5, 12, 28, 33, 34] 2 -

我有一个函数,它基本上会生成一个名为main的列表,我想把这个函数打印10次。为此,我使用了一段代码:

for x in range(10):
    x += 1
    print(str(x) + " - " + str(main()) + "\n")`
我想要的输出是:

1 - [3, 5, 10, 28, 33]
2 - [5, 12, 28, 33, 34]
但我得到的结果是:

[3, 5, 10, 28, 33]
1 - None
[5, 12, 28, 33, 34]
2 - None

我该如何解决这个问题?

您混淆了函数的工作原理:函数应该返回一个值。打印是一个函数本身,它将值写入终端。通过您发布的输出,我们可以看到您正在从主函数内部打印值

因此,您应该检查学习Python的源代码,自己找出打印值和返回值之间的区别。之后,只需在主函数中添加一个适当的return语句,它就可以按预期工作


此外,正如人们所指出的,如果只发布部分代码,并不总是能够猜测发生了什么。在回答问题时,请确保您发布了可以运行并重现问题的最少代码示例。

第23行出现了被零除的错误。。。只是开玩笑。如果没有。main?main的版本在哪里?没有显示,但可能没有包含返回语句,因此没有值-这当然是猜测。很明显,您的main函数不返回任何值。暗中捅:您在main中打印列表,而不是返回它…