利用python打印出菱形、三角形以及矩形的方法实例
前言
本文主要给大家介绍了关于利用python打印出菱形、三角形以及矩形的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍:
实例代码
#coding:utf-8 rows=int(raw_input('输入列数:')) i=j=k=1#声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数 #等腰直角三角形1 print"等腰直角三角形1" foriinrange(0,rows): forkinrange(0,rows-i): print"*",#注意这里的",",一定不能省略,可以起到不换行的作用 k+=1 i+=1 print"\n" #打印实心等边三角形 print"打印空心等边三角形,这里去掉if-else条件判断就是实心的" foriinrange(0,rows+1):#变量i控制行数 forjinrange(0,rows-i):#(1,rows-i) print"", j+=1 forkinrange(0,2*i-1):#(1,2*i) ifk==0ork==2*i-2ori==rows: ifi==rows: ifk%2==0:#因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格 print"*", else: print"",#注意这里的",",一定不能省略,可以起到不换行的作用 else: print"*", else: print"", k+=1 print"\n" i+=1 #打印菱形 print"打印空心等菱形,这里去掉if-else条件判断就是实心的" foriinrange(rows):#变量i控制行数 forjinrange(rows-i):#(1,rows-i) print"", j+=1 forkinrange(2*i-1):#(1,2*i) ifk==0ork==2*i-2: print"*", else: print"", k+=1 print"\n" i+=1 #菱形的下半部分 foriinrange(rows): forjinrange(i):#(1,rows-i) print"", j+=1 forkinrange(2*(rows-i)-1):#(1,2*i) ifk==0ork==2*(rows-i)-2: print"*", else: print"", k+=1 print"\n" i+=1 #实心正方形 print"实心正方形" foriinrange(0,rows): forkinrange(0,rows): print"*",#注意这里的",",一定不能省略,可以起到不换行的作用 k+=1 i+=1 print"\n" #空心正方形 print"空心正方形" foriinrange(0,rows): forkinrange(0,rows): ifi!=0andi!=rows-1: ifk==0ork==rows-1: #由于视觉效果看起来更像正方形,所以这里*两侧加了空格,增大距离 print"*",#注意这里的",",一定不能省略,可以起到不换行的作用 else: print"",#该处有三个空格 else: print"*",#这里*两侧加了空格 k+=1 i+=1 print"\n"
执行输出结果:
输入列数:4 等腰直角三角形1 **** *** ** * 打印空心等边三角形,这里去掉if-else条件判断就是实心的 * ** ** **** 打印空心等菱形,这里去掉if-else条件判断就是实心的 * ** ** ** ** ** * 实心正方形 **** **** **** **** 空心正方形 **** ** ** ****
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。