สมมติว่าเรามีตัวเลข n และ m โดย m เป็นพหุคูณของ n ต้องวาดรูปพรมประตูขนาด n x m มีคำว่า "WELCOME" อยู่กลาง ใช้ตัวอักษร . - | และข้อความกลาง
ตัวอย่าง n = 5, m = 15 ผลลัพธ์:
------.|.------ ---.|..|..|.--- ----WELCOME---- ---.|..|..|.--- ------.|.------
ขั้นตอนการแก้ปัญหา
- for i ในช่วง 1 ถึง n-1 ก้าว 2:
- พิมพ์ '-' จำนวน (m-i*3)/2 แล้ว '.|.' จำนวน i แล้ว '-' จำนวน (m-i*3)/2
- พิมพ์ '-' จำนวน (m-7)/2 แล้ว 'WELCOME' แล้ว '-' จำนวน (m-7)/2
- for i ในช่วง n-2 ถึง -1 ก้าว -2: (ลูปกลับ)
- พิมพ์เหมือนลูปบน
ตัวอย่างโค้ด
def solve(n, m):
for i in range(1, n, 2):
print('-'*int((m-i*3)/2) + '.|.'*i + '-'*int((m-i*3)/2))
print('-'*int((m-7)/2) + 'WELCOME' + '-'*int((m-7)/2))
for i in range(n-2, -1, -2):
print('-'*int((m-i*3)/2) + '.|.'*i + '-'*int((m-i*3)/2))
n = 15
m = 45
solve(n, m)
อินพุต
15,45
เอาต์พุต
(รูปแบบ Door Mat ขนาด 15x45 ตามตัวอย่าง)