调用生成器时缺少打印任务

时间:2017-09-22 03:25:54

标签: generator python-3.6 pascals-triangle

我已经编写了以下代码来生成三种不同高度的pascal-triangle模式。每次使用不同的字符来获得模式。我可以使用'*'和'&'来获取,但是第二次使用'='进行打印的调用永远不会被调用。因此,屏幕上缺少相应的模式。尝试通过在三个调用之间交错input()语句进行调试,但无济于事。请帮忙。

def draw_triangle(pattern_values):

    def draw(ht, ch):
        for i in range(1, ht+1):
            print('{txt:^{wid}}'.format(txt=i*(ch+' '),wid=2*ht))

    draw(pattern_values[0], pattern_values[1])
    yield pattern_values

    while True:
        pattern_values = yield pattern_values
        draw(pattern_values[0], pattern_values[1])

pattern_series = draw_triangle([10, '*'])
next(pattern_series)
pattern_series.send([12, '=']) # This does not produce any output
pattern_series.send([14, '&'])

1 个答案:

答案 0 :(得分:1)

所以你可以使用这个函数作为没有初始值的生成器。

myLineChart.datasets[0].points[4].fillColor =  "#FF0000";