Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để in kết cấu thảm cửa thiết kế bằng cách sử dụng các ký tự

Giả sử chúng ta có hai số n và m, m sẽ là bội số của n. Chúng tôi phải vẽ một mô hình thảm cửa với một từ nói "WELCOME" ở giữa. Kích thước chiếu sẽ là n x m. Chúng ta phải làm tấm lót này bằng cách sử dụng dấu chấm (.), Dấu gạch ngang (-), ký hiệu ống (|) và văn bản ở giữa.

Vì vậy, nếu đầu vào là n =5 m =15, thì đầu ra sẽ là

------.|.------
---.|..|..|.---
----WELCOME----
---.|..|..|.---
------.|.------

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đối với tôi trong phạm vi từ 1 đến n-1, tăng thêm 2, thực hiện
    • print (số nguyên của ((m-i * 3) / 2) số '-', sau đó là số i của '. |.' rồi đến số nguyên của ((m-i * 3) / 2) số '-'
  • print (số nguyên của ((m-7) / 2) số của '-' sau đó là 'WELCOME' rồi đến số nguyên của ((m-7) / 2) số của '-')
  • đối với tôi trong phạm vi n-2 đến -1, giảm đi 2, thực hiện
    • print (số nguyên của ((m-i * 3) / 2) số '-', sau đó là số i của '. |.' rồi đến số nguyên của ((m-i * 3) / 2) số '-'

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn

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)

Đầu vào

15,45

Đầu ra

---------------------.|.---------------------
------------------.|..|..|.------------------
---------------.|..|..|..|..|.---------------
------------.|..|..|..|..|..|..|.------------
---------.|..|..|..|..|..|..|..|..|.---------
------.|..|..|..|..|..|..|..|..|..|..|.------
---.|..|..|..|..|..|..|..|..|..|..|..|..|.---
-------------------WELCOME-------------------
---.|..|..|..|..|..|..|..|..|..|..|..|..|.---
------.|..|..|..|..|..|..|..|..|..|..|.------
---------.|..|..|..|..|..|..|..|..|.---------
------------.|..|..|..|..|..|..|.------------
---------------.|..|..|..|..|.---------------
------------------.|..|..|.------------------
---------------------.|.---------------------