Python运行代码(迭代?)仅适用于

2024-09-19 23:38:18 发布

您现在位置:Python中文网/ 问答频道 /正文

请原谅我的错误,因为这是我的第一篇文章。你知道吗

我是一个计算机专业的学生,我已经错过了几周的教学,所以我没有为我的任务做好充分的准备。我正在做一个人口模型,它需要能够做一系列的计算,一个可变的次数,然后将每个计算的结果添加到相应的列表中。你知道吗

我真的很难让代码反复运行(这叫迭代吗?)每次添加到列表时。你知道吗

据我所知,这是一个有问题的代码位,我在我的智囊团试图使它工作!你知道吗

for x in (0, numberGens):
                    juvNew = aduOverGens[-1]*birthRate
                    juvOverGens +=("Gen ", x+1, ": ", juvNew)
                    print (juvOverGens)

其中numberGens是代码应重复的次数,adOvergens是一个预定义的列表,其中包含特定类型个人的第一代数据,juvNew是计算的结果,每次都应添加到列表的末尾。当我运行numberGens为10 aduOverGens[-1]为22,birthRate为2的代码时,我希望看到以下结果:10个juvOverGens列表的打印,每次在末尾添加一个额外的值,它应该是aduOverGens的最后一个值的两倍(在本例中,每次都是相同的,因为尚未向aduOverGens添加额外的值)。你知道吗

然而在实践中,打印的结果是:

['Gen 0: ', 22.0, 'Gen ', 1, ': ', 44.0]
['Gen 0: ', 22.0, 'Gen ', 1, ': ', 44.0, 'Gen ', 11, ': ', 44.0]

所以这实际上只是打印了开始的一代(如我所料),然后添加了第一代的值(如我所料为44),但是跳过了其余的,最后只打印了最后一代(由于我的一个不同的错误被标记为Gen 11),而不是打印正确次数的列表,并在末尾添加一个额外的值。你知道吗

我怎样才能让它在列表中打印出正确的代数,而不是遗漏2-10代呢?另外,作为一个附带问题,我是否可以阻止使用“”和逗号以及“Gen”,1,“:”,[value]之间的间隙打印列表?你知道吗

抱歉写了这么长的文章,但我有时也忍不住。。。提前谢谢!你知道吗


Tags: 代码列表错误文章次数学生教学gen
1条回答
网友
1楼 · 发布于 2024-09-19 23:38:18

(0, NumberGens)是一个包含两个数字的元组:0和NumberGens。假设您实际上想要遍历从一个到另一个的范围,在这种情况下,您需要使用range函数。你知道吗

for x in range(0, numberGens):

请注意,通常在Python中,您会直接在对象上进行迭代;虽然尚未显示所有代码,但您可以执行以下操作:

for gen in addOverGens:
    juvNew = gen * birthRate
    ...

相关问题 更多 >