Python 打印菱形星形图案

本文解释了使用 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 Program to Print Diamond Star Pattern

在此 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