编程方法论
课程
1:Karel机器人
2:控制结构
3:逐步求精
4:Python入门
5:Python语法
6:控制流复习
7:图形编程
8:Python 中的函数
9:石头剪刀布
10:动画编程
11:列表
12:图像处理
13:多维列表
14:字符串
15:字典与集合
16:文件操作
17:嵌套数据结构
18:应用程序接口(API)
19:编程原理
20:类
21:类的进阶
22:元组与排序
23:搜索与索引
24: 互联网编程
25: 项目实战
Karel作业
作业 1:拾取报纸
作业 2:修复拱桥
作业 3:绘制棋盘
作业 4:找中点
作业 5:建造医院🏥
作业 6:捍卫民主
图形作业
作业 1:金字塔
作业 2:打砖块游戏
作业 3:沙子世界
Python作业
作业 1: 汗索尔学院
作业 2: Python变量和控制流
作业 3: Python列表与字符串
作业 4: Python文件读取与字典
作业 5: 更多字典练习
作业 6: 嵌套字典、文件读取与类
作业 7: Final Prep
作业 8: 无限的故事
作业 9: Bajillion 搜索引擎
ESP32作业
作业 1:温控风扇
作业 2:智能夜灯
作业 3:声光控小灯
Karel学习
登录
注册
作业1:金字塔
题目描述:
编写一个程序,在画布上绘制一个“金字塔”,金字塔由多行砖块组成,每一行砖块水平排列,且每往上一行砖块数量减少1,直到最顶端只剩一块砖。金字塔底部居中对齐。
效果示例:
如下图,每一行的砖块数量依次递减,整体呈金字塔形状。
每块砖可以用任意颜色,建议用黄色更醒目。
金字塔效果示意图
常量要求:
BRICK_WIDTH
:每块砖的宽度(如30像素)
BRICK_HEIGHT
:每块砖的高度(如12像素)
BRICKS_IN_BASE
:底层砖块数量(如14块)
你的程序应使用这些常量,方便后续调整金字塔尺寸和形状。
实现建议:
使用嵌套循环,外层循环控制行数,内层循环控制每行的砖块数量和位置。
每一行的起始x坐标要根据当前行的砖块数量和画布宽度动态计算,使金字塔居中。
建议先画底层,再逐行向上递减。
单砖绘制示例:
# 在画布左上角画一块黄色砖
canvas
.
create_rectangle
(
0
,
0
,
BRICK_WIDTH
,
BRICK_HEIGHT
,
"yellow"
,
"black"
)
进阶要求:
你的程序应能适应不同的常量设置(如砖块尺寸、底层数量),金字塔形状自动调整。
可尝试为砖块添加不同颜色或渐变效果,提升美观度。
温馨提示:多画图、列举坐标,理清每一行砖块的起始位置和数量,有助于编写正确的循环和坐标计算。