一.利用循环打印图案
思路:将较难的图案分成两个部分,上(先左后右),下(先左后右)
例题1:
*
**
***
****
*****
******
代码如下:
num=int(input("请输入您要打印的行号"))
for i in range(1,num+1):
print("*"*i)
例题2:
*
***
*****
*******
代码如下:
num=int(input("请输入您要打印的行号"))
for i in range(1,num+1):
print(" "*(num-i)+"*"*(2*i-1))
例题3:
*
***
*****
*******
*****
***
*
代码如下:
num=int(input("请输入您要打印的上半部分行号"))
for i in range(1,num+1):
print(" "*(num-i)+"*"*(2*i-1))
for i in range(num-1,0,-1):
print(" "*(num-i)+"*"*(2*i-1))
例题4:
*
* *
* *
* *
* *
* *
*
代码如下:
num=int(input("请输入您要打印的上半部分行号"))
for i in range(1,num+1):
if i==1:
print(" "*(num-i)+"*")
else:
print(" "*(num-i)+"*"+" "*(2*(i-1)-1)+"*")
for i in range(num-1,0,-1):
if i==1:
print(" "*(num-i)+"*")
else:
print(" "*(num-i)+"*"+" "*(2*(i-1)-1)+"*")
例题5:
*
***
* * *
*******
* * *
***
*
代码如下:
num=int(input("请输入您要打印的上半部分行号"))
for i in range(1,num+1):
if i==1:
print(" "*(num-i)+"*")
else:
print(" "*(num-i)+"*",end="")
if i%2==0:
print("*"*(2*i-2))
else:
print(" "*(i-2)+"*"+" "*(i-2)+"*")
for i in range(num-1,0,-1):
if i==1:
print(" "*(num-i)+"*")
else:
print(" "*(num-i)+"*",end="")
if i%2==0:
print("*"*(2*i-2))
else:
print(" "*(i-2)+"*"+" "*(i-2)+"*")
例题6:
*
***
*****
*******
*
*
*
*
代码如下:
num=int(input("请输入您要打印的行号"))
for i in range(1,num+1):
print(" "*(num-i)+"*"*(2*i-1))
else:
print(((" "*(num-1)+"*")+"\n")*num)