Python教程

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

本文主要是介绍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("")

在这里插入图片描述

这篇关于python基础—for循环(图案打印) 2021-11-06的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!