首先,我想不出一个合适的标题。其次,我对编程很陌生。总之,我有这个功能:
def addtrinumbs():
x = 1
list1 = []
while x > 0:
list1.append(x)
x = x + 1
y = sum(list1)
print y
这将在y改变时连续打印y。我想做的是:
^{pr2}$所以我希望addone()连续地从addtrinumbs()获取输入。我觉得有一个真正的基本和简单的概念,我错过了。当我运行它时,我只得到1个输出,即2。我读过发电机,我不确定这是否是我需要使用的。我想我明白它们的用途,但我找不到一个与我的问题相关的例子。任何帮助或转向正确的方向都会很好,谢谢。在
当函数返回某个值时,该函数将自动中断并退出该函数。请在this question上查看有关此内容的详细信息。您可以选择的一个方法是先将要返回的内容附加到列表中,然后返回该列表。在
您似乎缺少了生成器的概念
addtrinumbs
应该生成值,而不是返回值。(它显然永远不会终止,但是,对于生成器,没关系)。在addone
将以生成器作为参数,并在其上循环:这将产生一个无休止的数字流,最好有一个退出条件一些但是,这是一个通用的概念。在
当函数
addtrinumbs
在第一个循环中查看return语句时,它退出该函数,返回相关的值。这就是为什么它只返回一个值。 您需要将值存储在一个列表或其他内容中,然后返回该列表。所以,取一个list2 = []
,而不是return y
,而是list2.append(y)
,然后最终返回列表return list2
。在相关问题 更多 >
编程相关推荐