คุณลักษณะการวนลูปใน 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) เพื่อควบคุมช่องว่างและตัวอักษรในแต่ละแถว