老师我菱形下半部分为什么会是这样
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form action="#" method="post"> <input type="text" name="num" id=""placeholder="请输入要打印的行数"><br> <input type="submit" name="jin" value="金字塔"> <input type="submit" value="空心菱形" name="lin"> </form> </body> </html> <?php //除去错误 error_reporting(E_ALL&~E_NOTICE); //接收金字塔空心菱形数据 $jin=$_POST['jin']; $l=$_POST['lin']; //判断用户点了金字塔按钮 先判断是否是传值,再进行赋值。 if ($jin){ //接收数据 $num=$_POST['num']; //输入负数时提示消息 if ($num>=1){ for ($i=1;$i<=$num;++$i){ //设定空格次数 echo '<br>'; // 使用接收到的数量减第一次循环的数 第一次接收到的是1 如果输入3就是3-1 2个++空格 for ($k=1;$k<=$num-$i;++$k){ // 浏览器中存在兼容性问题,对 的输出存在一定差异性建议使用html代码 echo "<span style='color:#FFF'>*</span>"; } //设定*号 三角形星星的个数=2*层数-1 for ($x=1;$x<=$i*2-1;$x++){ echo '*'; } } }else{ exit('层数请输入证正数'); } } // //判断用户点了空心菱形 先判断是否是传值,再进行赋值。 if ($l){ //接收数据 $num=$_POST['num']; //菱形上半部分 for ($li=1;$li<=$num;$li++){ //设定空格次数 echo '<br>'; // 使用接收到的数量减第一次循环的数 for ($lk=1;$lk<=$num-$li;$lk++){ // 浏览器中存在兼容性问题,对 的输出存在一定差异性建议使用html代码 echo "<span style='color: #fff;'>*</span>"; } for ($lx=1;$lx<=$li*2-1;$lx++){ //设置中间空白部分 取循环第一个=1 和最后一个 if ($lx==1 || $lx==$li*2-1){ echo '*'; }else { echo "<span style='color:#fff;'>*</span>"; } } } //菱形下班部分 for ($i=$num;$i>=1;$i--){ echo '<br>'; for ($k=1;$k<=$num-$i;$k++){ echo "<span style='color:#FFF'>*</span>"; } for ($c=1;$c<=$i*2-1;$c++){ if ($c==$i*2-1||$c==1){ echo '*'; }else{ echo "<span style='color:#fff'></span>"; } // } } }
6
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕查理
2019-10-07 10:29:16
您好,菱形下半部分中输出白色*时,缺少了*。另外下半部分菱形比上半部分菱形少一层。修改如下:
//菱形下班部分 for ($i=$num-1;$i>=1;$i--){ echo '<br>'; for ($k=1;$k<=$num-$i;$k++){ echo "<span style='color:#FFF'>*</span>"; } for ($c=1;$c<=$i*2-1;$c++){ if ($c==$i*2-1||$c==1){ echo '*'; }else{ echo "<span style='color:#fff'>*</span>"; } // } }
祝学习愉快!
PHP小白零基础入门
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星