如何在Python绘图中缩短canvas绘制矩形的代码命令
实现方案
你给出的5条绘制命令对应生成中心黄色、左右红色、上下绿色的5个边长为60的正方形,相同颜色的矩形仅坐标参数存在差异,我们可以通过遍历同色参数的方式精简行数,以下是功能和原代码完全一致的3行实现:
canvas.create_rectangle(90, 90, 150, 150, fill='yellow') for coords in [(150, 90, 210, 150), (30, 90, 90, 150)]: canvas.create_rectangle(*coords, fill='red') for coords in [(90, 150, 150, 210), (90, 30, 150, 90)]: canvas.create_rectangle(*coords, fill='green')
代码说明
- 第一行单独绘制唯一的黄色中心矩形
- 第二行将两个红色矩形的坐标打包为元组列表,通过for循环一次性完成绘制,
*coords用来解包坐标参数传入绘制方法 - 第三行同理完成上下两个绿色矩形的绘制
内容的提问来源于stack exchange,提问作者Martin Majerech
相关产品推荐
相关产品推荐

