您的位置 首页 java

德州点创教育:经典FOR循环打印星号三角形算法详解

有的朋友很怀念十年前,一道 C语言 等级考试的经典题目:打印星形三角形。没错,这道题当时弄晕了很多同学。其实做这类题,关键是 数列 与脑图分析。另外,在 python 大行其其道的今天,我们看一下,python是如何做这道题的。

这是程序运行结果

其实,这道题,玩的是数列的概念,数列在初中二年级就有了,但是光会数列还不行,还需要有逻辑循环,也就是FOR循环来辅助完成。

下面,上一张图,我们做一个分析:

我一直强调我的孩子,做数学题时,特别是做难度大的数学题时,一定要在脑海里画图,如果脑图画不出来,就要用纸画图,因为好多数学是,一转成二维图形,就简单多了。

我们假设,我们要打印一个4行的*号三角形。所以假设 n = 4

python打印星形三角形

 一共有n = 4 行:
第n行: 我们打印 几 个+号,然后打印几个*号
第i = 1行:    3             1
第i = 2行:    2             3 
第i = 3行:    1             5
第i = 4行:    0             7

数组总结       n-i         2*i-1     

在上面,n代表,我们要打印多少行,i 代表我们打印的每一行的行号。

所以,代码如下:

 n = 4
for i in list(range(1,n+1)):
    print("+"*(n-i),end="")
    print("*"*(2*i-1))  

如图:

德州青少年编程算法实例

然后,我们再把 + 换为一个空格就可以了。也同样是4行代码。

 n = 4
for i in list(range(1,n+1)):
    print(" "*(n-i),end="")
    print("*"*(2*i-1))  

好了,如果大家想试试别的,只需要改变一下n的值,就可以了。

最后,我要说的是,青少年在学习数学知识时,可以通过编程的学习,把数学知识通过程序图形化,时间长了,形成自己的二维脑图,甚至形成自己的三维脑图。这样坚持下来,人才能聪明。

这也就是家长们常说的:

做题要动脑子,但是脑子如何动,家长没有说。

文章来源:智云一二三科技

文章标题:德州点创教育:经典FOR循环打印星号三角形算法详解

文章地址:https://www.zhihuclub.com/197645.shtml

关于作者: 智云科技

热门文章

网站地图