C4-10 · Khung chữ nhật

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Đề

Cho hai số nguyên r và c. In một khung chữ nhật r dòng, c cột: viền là dấu *, bên trong là dấu cách.

Nói cách khác: dòng đầu và dòng cuối gồm c dấu *; mỗi dòng ở giữa gồm một dấu *, tiếp theo c − 2 dấu cách, rồi một dấu *.

Dữ liệu vào

Một dòng chứa hai số nguyên r và c (số dòng, số cột) cách nhau một dấu cách.

Kết quả

r dòng mô tả khung.

Ràng buộc

  • 2 ≤ r ≤ 100; 2 ≤ c ≤ 100.

Ví dụ

Dữ liệu vào:

3 5

Kết quả:

*****
*   *
*****

Giải thích ví dụ

Khung có 3 dòng, 5 cột. Dòng 1 và dòng 3 (dòng viền) là 5 dấu *. Dòng 2 có * ở cột 1 và cột 5, ba cột giữa (5 − 2 = 3) là dấu cách. Lập bảng trước khi viết code (Ví dụ 4.5):

Dòng Nội dung Số * Số dấu cách ở giữa
1 (viền trên) ***** 5 0
2 (giữa) * * 2 3
3 (viền dưới) ***** 5 0

Ghi chú

  • Dấu cách là một phần của hình: hệ thống chấm bài này so từng dòng, phân biệt số dấu cách ở đầu và giữa dòng; chỉ bỏ qua dấu cách thừa ở cuối dòng.
  • print("*", " " * (c - 2), "*") chèn thêm một dấu cách giữa các đối số (mặc định sep=" "), nên dòng giữa bị rộng thêm 2 cột. Ghép chuỗi bằng + hoặc in từng ký tự với end="".
  • Khi r = 2 không có dòng giữa; khi c = 2 dòng giữa là ** (không có dấu cách).

Nguồn trong sách: Bài C4-10, mục 4.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (***)


Đang tải...