如何让循环遍历列表?

2024-09-30 20:16:42 发布

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

我不熟悉编程和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")

不过,我希望它使用一系列的图像,这样每个瓷砖是不同的。在“粘贴”的参数中,“logo”变量只有一个图像。我希望循环遍历一个列表,例如:

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

我不知道如何做到这一点。你知道吗


Tags: in图像forpngtop编程rangeleft
1条回答
网友
1楼 · 发布于 2024-09-30 20:16:42

如注释中所述,在平铺不同的图像时,您需要弄清楚如何处理它们。如果你的相框是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 

相关问题 更多 >