本文解释了使用 for 循环、while 循环和函数编写 Python 程序打印星形、字母和数字的菱形图案的所有不同方法。
Python 打印菱形星形图案
编写一个使用 for 循环打印菱形星形图案的程序。
rows = int(input("Enter Diamond Pattern Rows = "))
print("Diamond Star Pattern")
k = 0
for i in range(1, rows + 1):
for j in range(1, rows - i + 1):
print(end = ' ')
while k != 2 * i - 1:
print('*', end = '')
k = k + 1
k = 0
print()
k = 2
l = 1
for i in range(1, rows):
for j in range(1, k):
print(end = ' ')
k = k + 1
while l <= (2 * (rows - i) - 1):
print('*', end = '')
l = l + 1
l = 1
print()
Enter Diamond Pattern Rows = 8
Diamond Star Pattern
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
>>>
我们修改了上面的程序,用for 循环替换了while 循环来打印菱形星形图案。
rows = int(input("Enter Diamond Pattern Rows = "))
print("Diamond Star Pattern")
for i in range(1, rows + 1):
for j in range(1, rows - i + 1):
print(end = ' ')
for k in range(0, 2 * i - 1):
print('*', end = '')
print()
for i in range(1, rows):
for j in range(1, i + 1):
print(end = ' ')
for l in range(1, (2 * (rows - i) )):
print('*', end = '')
print()

在此 Python 程序中,我们创建了一个 diamondPattern 函数,该函数接受行数和符号来打印菱形图案。符号将替换菱形图案中的星形。
def diamondPattern(rows, ch):
for i in range(1, rows + 1):
for j in range(1, rows - i + 1):
print(end = ' ')
for k in range(0, 2 * i - 1):
print('%c' %ch, end = '')
print()
for i in range(1, rows):
for j in range(1, i + 1):
print(end = ' ')
for k in range(1, (2 * (rows - i))):
print('%c' %ch, end = '')
print()
rows = int(input("Enter Diamond Pattern Rows = "))
ch = input("Symbol to Print in Diamond Pattern = ")
print("Diamond Pattern")
diamondPattern(rows, ch)
Enter Diamond Pattern Rows = 10
Symbol to Print in Diamond Pattern = ^
Diamond Pattern
^
^^^
^^^^^
^^^^^^^
^^^^^^^^^
^^^^^^^^^^^
^^^^^^^^^^^^^
^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^
^^^^^^^^^^^^^
^^^^^^^^^^^
^^^^^^^^^
^^^^^^^
^^^^^
^^^
^
>>>
对于下面所有图案示例的 while 循环和函数示例,您必须单击每个部分下方的超链接。由于这是概述,我们提供了编写菱形图案程序的最佳方法。但是,解释部分保留在各个帖子中。
空心菱形星形图案
更多信息 >> 点击此处
def loopLogic(i, r):
for j in range(1, r - i + 1):
print(end=' ')
for k in range(1, 2 * i):
if k == 1 or k == i * 2 - 1:
print('*', end='')
else:
print(' ', end='')
print()
r = int(input("Enter Rows = "))
for i in range(1, r + 1):
loopLogic(i, r)
for i in range(r - 1, 0, -1):
loopLogic(i, r)
输出
Enter Rows = 7
*
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
* *
*
半菱形星形图案
更多信息 >> 点击此处
r = int(input("Enter Rows = "))
for i in range(r):
for j in range(0, i + 1):
print('*', end = '')
print()
for i in range(1, r):
for j in range(i, r):
print('*', end = '')
print()
输出
Enter Rows = 6
*
**
***
****
*****
******
*****
****
***
**
*
空心半菱形星形图案
更多信息 >> 点击此处
def loopLogic(i, r):
for j in range(0, i + 1):
if i == j or j == 0:
print('*', end='')
else:
print(' ', end='')
print()
r = int(input("Enter Rows = "))
for i in range(r):
loopLogic(i, r)
for i in range(r -2, -1, -1):
loopLogic(i, r)
输出
Enter Rows = 5
*
**
* *
* *
* *
* *
* *
**
*
半菱形镜像星形图案
更多信息 >> 点击此处
def loopLogic(i, r):
for j in range(0, r - i):
print(' ', end='')
for k in range(0, i):
print('*', end='')
print()
r = int(input("Enter Rows = "))
for i in range(r):
loopLogic(i, r)
for i in range(r, 0, -1):
loopLogic(i, r)
输出
Enter Rows = 8
*
**
***
****
*****
******
*******
********
*******
******
*****
****
***
**
*
Python 打印菱形数字模式的程序
以上所有示例都将打印星形的菱形图案,而这个将打印数字。更多信息 >> 点击此处。
def loopLogic(i, r):
for j in range(1, r - i + 1):
print(end=' ')
for k in range(1, (2 * i)):
print(k, end='')
print()
r = int(input("Enter Rows = "))
for i in range(1, r + 1):
loopLogic(i, r)
for i in range(r - 1, 0, -1):
loopLogic(i, r)
输出
Enter Rows = 5
1
123
12345
1234567
123456789
1234567
12345
123
1
Python 程序打印菱形字母图案
更多信息 >> 点击此处
def loopLogic(i, r):
alp = 64
for j in range(1, r - i + 1):
print(end =' ')
for k in range(1, (2 * i)):
print('%c' %(alp + k), end = '')
print()
r = int(input("Enter Rows = "))
for i in range(1, r + 1):
loopLogic(i, r)
for i in range(r - 1, 0, -1):
loopLogic(i, r)
输出
Enter Rows = 7
A
ABC
ABCDE
ABCDEFG
ABCDEFGHI
ABCDEFGHIJK
ABCDEFGHIJKLM
ABCDEFGHIJK
ABCDEFGHI
ABCDEFG
ABCDE
ABC
A