正在回答
您好,在下列代码中为同学标注了循环的记号,同学根据记号理解哦~
首先已经知道要输出一个5行的金字塔,那么便有了1号for循环,它规定了金字塔的行数。
已知金字塔是有一个空白的倒三角和一个三角组成的,那么每行上就会有空格,而2号for循环就规定了每行上存在多少个空格。3号for循环就规定了每行上存在几个*。
最后的echo是在每行输出完之后进行换行,保证下次是从新的一行开始输出内容。
此时具体分析代码:
1号for循环是为了规定金字塔的层数,那么便有了循环小于$n层数的代码。
2号for循环是为了规定每行存在几个空格,而它的规律则是每行的空格都是比层数少一个,当最后一层输出时则没有空格。因此循环条件是层数$n-每次循环的行数$i。
3号for循环是为了规定每行有几个*号,*好的规律是2*层数-1,所以循环条件是2*$i-1。
祝学习愉快!
您好,同学可以具体描述一下哪个for循环理解不了,以便帮助同学理解。
金字塔和空心菱形的思路:
金字塔的实现思路:
实现每行相对前一行多2个*的规律。
首先,接受页面传过来的层数n,循环n,在这个循环中先打印一个由空格组成的倒直角三角形,注意可能有些浏览器对 与 * 的大小解析不相等,所以这里可以输出隐藏样式(style=”color:#FFF;”)的*来保证在浏览器页面呈现的是一个完全的倒三角。
其次,在层循环中打印一个由星号组成的等腰三角形,三角形星星的个数=2*层数-1。
最后,输出换行即可。
空心菱形的实现思路:
用循环实现一个第一行和最后一行是一颗星星,其余中间每一行是行头,行尾各一颗星星的菱形的形状。
实现菱形的上半部分(想象一个空心的无底边三角形)。
首先,接受页面传过来的层数,循环这个层数。
其次,在层数的循环中,先打印一个空的倒直角三角,然后打印一个实心型三角,判断输出行首行尾的星星,中间部分直接打印出空。
最后,给每层打印换行。
实现菱形的下半部分(想象成一个空心的无底边的倒三角形)。
首先,在层数的循环中,先打印一个空的倒三角,然后打印一个实心型三角,同样判断输出行首行尾的星星,中间部分直接打印出空。
(注意循环层数的条件的变化)。
其次,给每层打印换行
注:空心菱形的上半部分与下半部分的思路是相同的,区别是上半部分菱形执行的是++操作,下半部分菱形执行的是--操作。
同学遇到问题时可以提出,尽量帮助同学理清如何修改代码的思路。同学可以将自己完成的代码反馈或者提交作业。祝学习愉快!
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星