สมมติว่าเรามีตัวเลข n ต้องสร้าง Alphabet Rangoli ขนาด n x n โดย n อยู่ระหว่าง 1-26 เริ่มจาก a จนถึง z เมื่อ n=26
ตัวอย่าง n = 5 ผลลัพธ์:
--------e-------- ------e-d-e------ ----e-d-c-d-e---- --e-d-c-b-c-d-e-- e-d-c-b-a-b-c-d-e --e-d-c-b-c-d-e-- ----e-d-c-d-e---- ------e-d-e------ --------e--------
ขั้นตอนการแก้ปัญหา
- ลูปบน: for i จาก n-1 ลง 0
- พิมพ์ "--" จำนวน i ครั้ง
- พิมพ์ตัวอักษรจาก n-1 ลง i+1 คั่น "-"
- พิมพ์ตัวอักษรจาก i ถึง n-1 คั่น "-" (ตัวสุดท้ายไม่คั่น)
- พิมพ์ "-" จำนวน 2*i ครั้ง
- ขึ้นบรรทัดใหม่
- ลูปล่าง: for i จาก 1 ถึง n-1 (คล้ายลูปบนแต่กลับทิศทาง)
ตัวอย่างโค้ด
def solve(n):
for i in range(n-1, -1, -1):
for j in range(i):
print(end="--")
for j in range(n-1, i, -1):
print(chr(j+97), end="-")
for j in range(i, n):
if j != n-1:
print(chr(j+97), end="-")
else:
print(chr(j+97), end="")
for j in range(2*i):
print(end="-")
print()
for i in range(1, n):
for j in range(i):
print(end="--")
for j in range(n-1, i, -1):
print(chr(j+97), end="-")
for j in range(i, n):
if j != n-1:
print(chr(j+97), end="-")
else:
print(chr(j+97), end="")
for j in range(2*i):
print(end="-")
print()
n = 8
solve(n)
อินพุต
8
เอาต์พุต
(รูปแบบ Rangoli ขนาด 8x8)