Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python in thảm chào đón (Door Mat) với văn bản WELCOME


Cho n (số dòng, lẻ) và m (số cột, bội của n). In thảm kích thước n x m với mẫu .|. đối xứng, dòng giữa ghi WELCOME. Dùng ký tự '-', '.', '|'.

Ví dụ n=5, m=15:

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

Thuật toán

  • Nửa trên: i = 1, 3, 5, ..., n-2. Mỗi dòng: (m - 3*i)//2 dấu '-', rồi i lần .|., rồi dấu '-'.
  • Dòng giữa: (m-7)//2 dấu '-', WELCOME, dấu '-'.
  • Nửa dưới: ngược lại nửa trên.

Ví dụ mã nguồ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 / Đầu ra

Input:  15, 45
Output: (thảm 15x45 với WELCOME ở giữa)