【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) )
菱形输出完毕,再看看对称三角形:
文章图片
同菱形一样,也是以第四行为界上下对称,同样可以通过range表示对称性,再找每一行与对应i值得关系,可得出:
for i in range(-3,4):
n = abs(i)
print(' '*(3-n) + '*'*(n*2+1) )
类似的图形输出方式应该都是一个思路,找到规律就很容易解决啦。因为刚接触python,很多知识还不懂,可能还有需要优化的地方,望大家指正。
推荐阅读
- 练习|vue+element实现手机号验证码注册
- Python|python:while打印正三角形
- 牛客练习赛25 因数个数和
- Python|Python练习实例——星号三角形
- 2.任何一个自然数m的立方均可写成m个连续奇数之和
- 2017年09月23日普级组 看电影
- 练习|如何对解压缩版的Tomcat进行启动
- Java多线程练习(三个线程顺序打印A,B,C)