利用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条件判断就是实心的 * ** ** ** ** ** * 实心正方形 **** **** **** **** 空心正方形 **** ** ** ****
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。