📅  最后修改于: 2020-01-17 13:53:34             🧑  作者: Mango
可以使用简单的for循环在Python中打印图形。第一个外部循环用于处理行数,而内部嵌套循环用于处理列数。操纵打印语句,可以打印不同的数字图案,字母图案或星形图案。
本文显示了一些打印图案的模式。
# Python 3.x打印图案
# 构建方程
def pypart(n):
# 外部循环处理行
for i in range(0, n):
# 内部循环处理列
for j in range(0, i+1):
# 打印✨
print("* ",end="")
# 每行末端处理
print("\r")
# 测试
n = 5
pypart(n)
输出:
*
* *
* * *
* * * *
* * * * *
另一种方法:
在Python 3中使用列表,这可以通过更简单的方式完成
# Python 3.x打印图案
# 创建函数
def pypart(n):
myList = []
for i in range(1,n+1):
myList.append("*"*i)
print("\n".join(myList))
# 测试代码
n = 5
pypart(n)
180度旋转:
# Python 3.x打印图案
# 定义函数
def pypart2(n):
# 定义空格数量
k = 2*n - 2
# 外不循环控制行
for i in range(0, n):
# 行的内循环
for j in range(0, k):
print(end=" ")
# 减少k
k = k - 2
# 内部循环控制列
for j in range(0, i+1):
# 打印
print("* ", end="")
# 行末端的处理
print("\r")
# 测试代码
n = 5
pypart2(n)
输出:
*
* *
* * *
* * * *
* * * * *
印刷三角
# Python 3.x打印图案
# 构建函数
def triangle(n):
# 空格数
k = 2*n - 2
# 外不循环处理行
for i in range(0, n):
# 行的内循环
for j in range(0, k):
print(end=" ")
# decrementing k after each loop
k = k - 1
# 内部循环控制列
for j in range(0, i+1):
# 打印✨
print("* ", end="")
# 行结束的处理
print("\r")
# 测试代码
n = 5
triangle(n)
输出:
*
* *
* * *
* * * *
* * * * *
数字模式
# Python 3.x打印图案
# 定义函数
def numpat(n):
# 定义开始的数字
num = 1
# 外部循环控制行
for i in range(0, n):
# 重新赋值
num = 1
# 内部循环控制列
for j in range(0, i+1):
# 打印数字
print(num, end=" ")
# 每列num增长
num = num + 1
# 行末端处理
print("\r")
# 测试代码
n = 5
numpat(n)
输出:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
号码,无需重新分配
# Python 3.x打印图案
# 定义函数
def contnum(n):
# 初始化数字
num = 1
# 外部循环控制行
for i in range(0, n):
# 不重新复制
# num = 1
# 内部循环控制列
for j in range(0, i+1):
# 打印数字
print(num, end=" ")
# 每列增加数字
num = num + 1
# 每行末端处理
print("\r")
n = 5
# 测试
contnum(n)
输出:
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
角色模式
# Python 3.x打印图案
# 定义函数
def alphapat(n):
# 初始化'A'的ASCII值
num = 65
# 外部循环控制行
for i in range(0, n):
# 内部循环控制列
for j in range(0, i+1):
# 转换成字符
ch = chr(num)
# 打印字符
print(ch, end=" ")
# 增加数字
num = num + 1
# 行末端处理
print("\r")
# 测试代码
n = 5
alphapat(n)
输出:
A
B B
C C C
D D D D
E E E E E
连续字符模式
# Python 3.x代码打印图案
# 定义函数
def contalpha(n):
# 初始化'A'的ASCII值
num = 65
# 外部循环控制行
- for i in range(0, n):
# 内部循环控制列
for j in range(0, i+1):
# 转换成字符
ch = chr(num)
# 打印字符
print(ch, end=" ")
# 每列增加
num = num +1
# 行末端处理
print("\r")
# 测试代码
n = 5
contalpha(n)
输出:
A
B C
D E F
G H I J
K L M N O