开发者社区> 问答> 正文

通过调用两个函数实时更新文本?

我有一个程序,它从用户处获取输入,并使用该Population()函数显示输入的多种变化。该store_fit函数将这些不同的变体添加到列表中,然后将其删除,以便该列表一次仅填充一个变体。

我希望能够从列表中获取变体并使用它来更新我的文字。但是,我的程序仅在Population功能完成后才更新文本。如何运行该Population功能并同时更新文本? fit = [] ...

def store_fit(fittest): # fittest is each variation from Population

clear.fit()

fit.append(fittest)

...

pg.init()

... done = False

while not done:

... if event.key == pg.K_RETURN:

    print(text)

    target = text

    Population(1000) #1000 variations

    store_fit(value)

           fittest = fit[0]

...

top_sentence = font.render(("test: " + fittest), 1, pg.Color ('lightskyblue3'))

screen.blit(top_sentence, (400, 400))

展开
收起
游客6qcs5bpxssri2 2019-09-22 15:48:43 1443 0
1 条回答
写回答
取消 提交回答
  • 我建议使用Population生成器功能。

    def Populate(text, c):

    for i in range(c):
    
    
        # compute variation
        # [...]
    
        yield variation
    

    创建一个迭代器,并用于next()检索循环中的下一个变量,因此您可以打印每个单个变量:

    populate_iter = Populate(text, 1000)

    final_variation = None

    while not done:

    next_variation = next(populate_iter, None)
    
    if next_variation :
    
        final_variation = next_variation 
    
        # print current variation
        # [...]
    
    else:
    
        done = True
    
    2019-09-22 15:49:34
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
用计算和数据去改变整个世界 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
4个迭代,从批量交...1573957773.pdf 立即下载