Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมแสดงรูปแบบเพชร (Diamond Pattern) 2n-1 แถวใน Python

สมมติว่าเรามีตัวเลข n ต้องวาดรูปเพชร (Diamond) ด้วย * จำนวน 2n-1 แถว แถว 1 ถึง n มี * เพิ่มทีละ 1 แถว n+1 ถึง 2n-1 ลดทีละ 1

ตัวอย่าง n = 5:

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

ขั้นตอนการแก้ปัญหา

  • for i ในช่วง 1 ถึง n: พิมพ์ '* ' ซ้ำ i ครั้ง จัดกึ่งกลาง (center) ในช่องกว้าง 2*n-1
  • for i ในช่วง n-1 ถึง 1: พิมพ์ '* ' ซ้ำ i ครั้ง จัดกึ่งกลางในช่องกว้าง 2*n-1

ตัวอย่างโค้ด

def solve(n):
    for i in range(1, n+1):
        print(('* '*i).center(2*n-1))
    for i in range(n-1, 0, -1):
        print(('* '*i).center(2*n-1))

n = 10
solve(n)

อินพุต

10

เอาต์พุต

(รูปเพชร 19 แถว)