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

โปรแกรม Python พิมพ์รูปทรงเพชร (Diamond Shape)

คุณลักษณะการวนลูปใน Python สามารถใช้สร้างแผนภาพที่จัดรูปแบบสวยงามได้หลายรูป โดยใช้ตัวอักษรต่างๆ จากคีย์บอร์ด รูปทรงหนึ่งคือรูปเพชร ซึ่งเกี่ยวข้องกับหลายลูป เพราะเราต้องพิมพ์ตัวอักษรทั้งแนวตั้งและแนวนอน นอกจากนี้ยังต้องดูแลรูปทรงที่เพิ่มขึ้นจากด้านบนจนถึงกลาง แล้วลดลงจากกลางจนถึงด้านล่าง เพราะฉะนั้นเราจะใช้ลูป for 2 ตัว แต่ละตัวมีลูป for อีกตัวอยู่ข้างใน

ด้านล่างคือโค้ดสำหรับสร้างรูปเพชร

ตัวอย่าง

def Shape_of_Diamond(shape):
    a = 0
    for m in range(1, shape + 1):
        for n in range(1, (shape - m) + 1):
            print(end=" ")
        while a != (2 * m - 1):
            print("@", end="")
            a = a + 1
        a = 0
        print()
    s = 1
    c = 1
    for m in range(1, shape):
        for n in range(1, s + 1):
            print(end=" ")
        s = s + 1
        while c <= (2 * (shape - m) - 1):
            print("@", end="")
            c = c + 1
        c = 1
        print()

shape = 8
Shape_of_Diamond(shape)

การรันโค้ดข้างต้นจะให้ผลลัพธ์ดังนี้:

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

สรุป: การสร้างรูปทรงเพชรต้องใช้ลูป巢套 (nested loops) เพื่อควบคุมช่องว่างและตัวอักษรในแต่ละแถว