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------------------- ---.|..|..|..|..|..|..|..|..|..|..|..|..|.--- ------.|..|..|..|..|..|..|..|..|..|..|.------ ---------.|..|..|..|..|..|..|..|..|.--------- ------------.|..|..|..|..|..|..|.------------ ---------------.|..|..|..|..|.--------------- ------------------.|..|..|.------------------ ---------------------.|.---------------------