gpt4 book ai didi

python - 用多个变量填充网格

转载 作者:太空宇宙 更新时间:2023-11-03 15:40:13 25 4
gpt4 key购买 nike

我已经断断续续地编码了大约一年半,但我仍然不明白网格在 Python 中是如何工作的。

所以我的问题是我必须制作一个网格来显示人口模型。因此,我需要使用不同的变量填充网格,这些变量会根据网格中的每一行而变化:

那么我该如何解决这个问题呢?

最佳答案

您确实不需要网格的概念来完成您想要的任务。您只需要一个生成器即可将您的种群从一代传播到下一代。然后您可以使用Python的Format Specification Mini-Language打印与示例输出匹配的表中的值。

def propagate(num_generations, population_start = None):
if population_start is None:
population = [10, 10, 10, 30]
else:
population = population_start
for gen in range(num_generations):
yield population
population = [population[1]*2, population[0], population[1]]
population.append(sum(population))

def print_propagation(num_generations, population_start = None):
print('GENERATION\tJUVENILES\tADULTS\tSENILES\t\tTOTAL')
for gen, pops in enumerate(propagate(num_generations, population_start)):
print('{:^10}\t{:^8}\t{:^6}\t{:^7}\t\t{:^5}'.format(gen, *pops))

您可以像这样使用上述函数:

>>> list(propagate(6))
[[10, 10, 10, 30],
[20, 10, 10, 40],
[20, 20, 10, 50],
[40, 20, 20, 80],
[40, 40, 20, 100],
[80, 40, 40, 160]]

>>> print_propagation(6)
GENERATION JUVENILES ADULTS SENILES TOTAL
0 10 10 10 30
1 20 10 10 40
2 20 20 10 50
3 40 20 20 80
4 40 40 20 100
5 80 40 40 160

关于python - 用多个变量填充网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42204048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com