python基础—for循环(图案打印) 2021-11-06

1,直角三角形

""" *
	**
	***
	****
	*****
	******
"""
layer = int(input("请输入您要打印的层数:"))
for i in range(1,layer+1):
	for j in range(1,i+1):
		print("*",end="")
	print()

在这里插入图片描述
2,等腰三角形

"""
   *   				
  ***			
 *****
*******
"""
layer = int(input("请输入您要打印的层数:"))
for i in range(1,layer):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		print("*", end="")
	# 一行结束了,可以换行了
	print("")

在这里插入图片描述
3,等腰倒三角形

"""
	*********
	 *******
	  *****
	   ***
	    *
"""
layer = int(input("请输入您要打印的层数:"))
for i in range(layer,0,-1):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		print("*", end="")
	# 一行结束了,可以换行了
	print("")

在这里插入图片描述
4,实心菱形

"""
        *
	   ***
	  *****
	 *******
	*********
	 *******
	  *****
	   ***
	    *
"""
layer = int(input("请输入您要打印的层数:"))
while layer % 2 ==0:
	layer=int(input("对不起,层数必须是奇数层:"))
#上半层
for i in range(1,layer//2 + 2):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		print("*", end="")
	# 一行结束了,可以换行了
	print("")
#下半层
for i in range(layer//2,0,-1):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		print("*", end="")
	# 一行结束了,可以换行了
	print("")

在这里插入图片描述
5,空心菱形

"""
        *
	   * *
	  *   *
	 *     *
	*       *
	 *     *
	  *   *
	   * *
	    *
"""
layer = int(input("请输入您要打印的层数:"))
while layer % 2 ==0:
	layer=int(input("对不起,层数必须是奇数层:"))
#上半层
for i in range(1,layer//2 + 2):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		if j ==1 or j==star_num:
			print("*", end="")
		else:
			print(" ",end="")
	# 一行结束了,可以换行了
	print("")
#下半层
for i in range(layer//2,0,-1):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		if j ==1 or j==star_num:
			print("*", end="")
		else:
			print(" ",end="")
	# 一行结束了,可以换行了
	print("")

在这里插入图片描述
6,对角线菱形

"""
        *
	   ***
	  * * *
	 *  * *
	*********
	 *  *  *
	  * * *
	   ***
	    *
"""
layer = int(input("请输入您要打印的层数:"))
while layer % 2 ==0:
	layer=int(input("对不起,层数必须是奇数层:"))
#上半层
for i in range(1,layer//2 + 2):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		if j ==1 or j==star_num or j == (star_num +1)//2 or i == layer//2+1:
			print("*", end="")
		else:
			print(" ",end="")
	# 一行结束了,可以换行了
	print("")
#下半层
for i in range(layer//2,0,-1):
	# 先计算空格的数量
	space_num = layer - i
	for j in range(1, space_num + 1):
		print(" ", end="")
	# 计算*的数量
	star_num = 2 * i - 1
	for j in range(1, star_num + 1):
		if j ==1 or j==star_num or j == (star_num +1)//2:
			print("*", end="")
		else:
			print(" ",end="")
	# 一行结束了,可以换行了
	print("")

在这里插入图片描述

  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值