如何获得循环遍历列表的方式?

时间:2019-05-23 21:07:21

标签: python loops

我是编程和python的新手。我建立了一个循环,使用一个图像创建平铺图像,效果很好。

for left in range(0,iWidth,(logoWidth + xOffset)):
    for top in range (0,iHeight,(logoHeight + yOffset)):
        icopyIm2.paste(logo,(left,top))

icopyIm2.save("tiled_image.png")

但是,我希望它使用一系列图像,以便每个图块都不同。在“粘贴”的参数中,“徽标”变量仅是一张图像。我希望循环遍历列表,例如:

imageList = [pic1.png,pic2.png,pic3.png,pic4.png]

我不确定如何实现这一目标。

1 个答案:

答案 0 :(得分:1)

如评论中所述,您需要弄清楚平铺不同图像时的处理方式。如果您的帧是3x3并有5张图像,您希望它看起来像什么?

我认为您的问题的核心是设置带有参数的函数。以下示例制作了一个由3个字母组成的单词的平铺图像,我认为这与您的问题一致。我选择只是反复遍历输入列表-无模式。

def make_box(width, height, hits):
    hit_limit = len(hits)
    count = 0
    for i in range(height):
        for j in range(width):
            print(hits[count % hit_limit], end=' ')
            count += 1
        print()

hit_list = ['bop', 'pow', 'zap', 'bam', 'oof']
box_h = 3
box_w = 4

make_box(box_w, box_h, hit_list)

输出:

bop pow zap bam 
oof bop pow zap 
bam oof bop pow