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

โปรแกรมพิมพ์ลวดลายพรมประตู (Door Mat) ใน Python

สมมติว่าเรามีตัวเลข 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 ตามตัวอย่าง)