作业1:金字塔

  1. 题目描述:
    编写一个程序,在画布上绘制一个“金字塔”,金字塔由多行砖块组成,每一行砖块水平排列,且每往上一行砖块数量减少1,直到最顶端只剩一块砖。金字塔底部居中对齐。
  2. 效果示例:
    • 如下图,每一行的砖块数量依次递减,整体呈金字塔形状。
    • 每块砖可以用任意颜色,建议用黄色更醒目。
    金字塔示例
    金字塔效果示意图
  3. 常量要求:
    • BRICK_WIDTH:每块砖的宽度(如30像素)
    • BRICK_HEIGHT:每块砖的高度(如12像素)
    • BRICKS_IN_BASE:底层砖块数量(如14块)
    你的程序应使用这些常量,方便后续调整金字塔尺寸和形状。
  4. 实现建议:
    • 使用嵌套循环,外层循环控制行数,内层循环控制每行的砖块数量和位置。
    • 每一行的起始x坐标要根据当前行的砖块数量和画布宽度动态计算,使金字塔居中。
    • 建议先画底层,再逐行向上递减。
  5. 单砖绘制示例:
    # 在画布左上角画一块黄色砖
    canvas.create_rectangle(
      0, 0,
      BRICK_WIDTH, BRICK_HEIGHT,
      "yellow", "black"
    )
  6. 进阶要求:
    • 你的程序应能适应不同的常量设置(如砖块尺寸、底层数量),金字塔形状自动调整。
    • 可尝试为砖块添加不同颜色或渐变效果,提升美观度。
温馨提示:多画图、列举坐标,理清每一行砖块的起始位置和数量,有助于编写正确的循环和坐标计算。