python输出棱形及对称三角

【python输出棱形及对称三角】类似的图形都是对称的,所以编写程序时完全可以考虑采用对称的方式去写,代码会优化很多。
比如,菱形:
python输出棱形及对称三角
文章图片

该菱形一共7行,以第四行为界上下两两对称,那就可以考虑可否应用range来体现这个对称,比如for i in range(-3,4),那i的值依次为-3,-2,-1,0,1,2,3,很漂亮的对称,接下来可以找找i值与每一行的关系,根据每行的空格数和星数,与i的绝对值有关系,那代码可以写成如下:

for i in range(-3,4): n = abs(i) print(' '*n + '*'*(7-2*n) )

菱形输出完毕,再看看对称三角形:
python输出棱形及对称三角
文章图片

同菱形一样,也是以第四行为界上下对称,同样可以通过range表示对称性,再找每一行与对应i值得关系,可得出:
for i in range(-3,4): n = abs(i) print(' '*(3-n) + '*'*(n*2+1) )

类似的图形输出方式应该都是一个思路,找到规律就很容易解决啦。因为刚接触python,很多知识还不懂,可能还有需要优化的地方,望大家指正。

    推荐阅读