Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình in mẫu hình kim tự tháp (Pyramid Patterns) trong Python

Tận dụng vòng lặp for và hàm range trong Python, chúng ta có thể vẽ nhiều cấu trúc kim tự tháp khác nhau. Chìa khóa của cách tiếp cận là thiết kế vòng lặp for phù hợp để để lại khoảng trống dọc và ngang cho vị trí của ký hiệu chúng ta chọn để vẽ cấu trúc kim tự tháp.

Mẫu 1

Vẽ mẫu dựa trên góc vuông.

Ví dụ

def kim_tu_thap(p):
    for m in range(0, p):
        for n in range(0, m+1):
            print("* ", end="")
        print("\r")

p = 10
kim_tu_thap(p)

Kết quả

Chạy mã trên cho kết quả sau:

* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * *

Mẫu 2

Làm xoay 180 độ so với mẫu trên.

Ví dụ

def kim_tu_thap(p):
    X = 2 * p - 2
    for m in range(0, p):
        for n in range(0, X):
            print(end=" ")
        X = X - 2
        for n in range(0, m+1):
            print("* ", end="")
        print("\r")

p = 10
kim_tu_thap(p)

Kết quả

Chạy mã trên cho kết quả sau:

         * 
       * * 
     * * * 
   * * * * 
 * * * * * 
* * * * * * 
* * * * * * * 
* * * * * * * * 
* * * * * * * * * 
* * * * * * * * * *

Mẫu 3

Vẽ hình tam giác cân, cả hai bên bằng nhau.

Ví dụ

n = 0
r = 12
for m in range(1, r+1):
    for gap in range(1, (r-m)+1):
        print(end=" ")
    while n != (2*m-1):
        print("* ", end="")
        n = n + 1
    n = 0
    print()

Kết quả

Chạy mã trên cho kết quả sau:

            * 
          * * * 
        * * * * * 
      * * * * * * * 
    * * * * * * * * * 
  * * * * * * * * * * * 
* * * * * * * * * * * * * 
* * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * * * * * *

Mẫu 4

Vẽ tam giác đều, ba cạnh bằng nhau.

Ví dụ

do_dai = 12
k = (2 * do_dai) - 2
for p in range(0, do_dai):
    for n in range(0, k):
        print(end=" ")
    k = k - 1
    for n in range(0, p + 1):
        print("@", end=' ')
    print(" ")

Kết quả

Chạy mã trên cho kết quả sau:

           @ 
          @ @ 
         @ @ @ 
        @ @ @ @ 
       @ @ @ @ @ 
      @ @ @ @ @ @ 
     @ @ @ @ @ @ @ 
    @ @ @ @ @ @ @ @ 
   @ @ @ @ @ @ @ @ @ 
  @ @ @ @ @ @ @ @ @ @ 
 @ @ @ @ @ @ @ @ @ @ @ 
@ @ @ @ @ @ @ @ @ @ @ @