【python列表】中元素类型为列表时的加法操作
想创建一个4X4的方格,画布大小是512X512,所以每个方格是128X128.目前碰到的问题是,以pos为第一个格,X方向四个点的坐标增加,Y方向四个点的坐标增加。
但是没有找到合适的方法进行列表类元素的相加。
想请教下大家有什么其他方向或指点?
https://s1.ax1x.com/2020/03/26/GpzdCn.png
import simpleguitk as gui
x = [,,,]
pos_0 =
pos_1 =
pos_2 =
pos_3 =
#X方向位移增加128,直到251;
pos =
#y方向位移增加128,直到251;
def draw(canvas):
canvas.draw_polygon(pos, 1, 'BLUE', 'TEAL')
stage = gui.create_frame('连连看', 512, 512)
stage.set_draw_handler(draw)
stage.start() 直接用索引 pos_0 += 128 BngThea 发表于 2020-3-26 21:06
直接用索引 pos_0 += 128
但是我需要的是pos+=128,pos+=128,pos+=128,pos+=128,
如何简洁的把以上结果赋给新的pos,这一点卡住了。 jmshtqm 发表于 2020-3-26 21:22
但是我需要的是pos+=128,pos+=128,pos+=128,pos+=128,
如何简洁的把以上结果赋 ...
基础方法:用循环
进阶方案:用numpy库,直接支持矩阵加法 BngThea 发表于 2020-3-26 21:46
基础方法:用循环
进阶方案:用numpy库,直接支持矩阵加法
先用基础方法,两层for循环解决。
https://s1.ax1x.com/2020/03/31/GQs2qO.png
def draw(canvas):
for i in range(4):
for j in range(4):
x1=pos_1+128*i
x2 = pos_2 + 128*i
x3 = pos_3 + 128*i
x4 = pos_4 + 128*i
y1 = pos_1 + 128*j
y2 = pos_2 + 128*j
y3 = pos_3 + 128*j
y4 = pos_4 + 128*j
canvas.draw_polygon([, , , ], 1, 'blue', 'teal') jmshtqm 发表于 2020-3-31 19:47
先用基础方法,两层for循环解决。
可以
页:
[1]