C9-09 · Tìm dòng chứa từ khóa

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

Đề

Tệp gop_y.txt mỗi dòng một góp ý; dữ liệu vào là một từ khóa. In mỗi dòng góp ý (đã strip()) chứa từ khóa, không phân biệt hoa thường, theo dạng so_dong: noi_dung, trong đó so_dong là số thứ tự của dòng trong tệp, đánh số từ 1. Không có dòng nào chứa thì in KHONG CO.

"Chứa" nghĩa là từ khóa là chuỗi con của dòng (phép in của chuỗi, mục 7.2), sau khi đổi cả hai về chữ thường: từ khóa phong có trong Phongmay het cho. Mỗi dòng thỏa mãn chỉ in một lần, giữ nguyên chữ hoa, chữ thường như trong tệp.

Cách nộp trên hệ thống chấm. Hệ thống chỉ có một nguồn dữ liệu vào, nên hai nguồn được ghép lại: dòng đầu là từ khóa (đọc bằng input()), các dòng còn lại là nội dung tệp gop_y.txt (đọc tiếp bằng for dong in sys.stdin:, Phụ lục D mẫu 7). Dòng từ khóa không tính vào số thứ tự dòng của tệp.

Dữ liệu vào

  • Dòng 1: từ khóa.
  • Các dòng tiếp theo đến hết: nội dung tệp gop_y.txt, mỗi dòng một góp ý (có thể có khoảng trắng ở đầu/cuối dòng).

Kết quả

Mỗi dòng chứa từ khóa in một dòng so_dong: noi_dung (một dấu cách sau dấu hai chấm), theo thứ tự trong tệp; hoặc một dòng KHONG CO.

noi_dung là dòng đã strip(): không còn dấu cách/tab ở đầu và cuối. Hệ thống so từng dòng, từng ký tự (chỉ bỏ qua khoảng trắng thừa ở cuối dòng), nên in dòng chưa strip() — còn dấu cách/tab ở đầu — sẽ bị Wrong Answer.

Ràng buộc

  • Từ khóa gồm 1 đến 20 chữ cái/chữ số, không có dấu cách.
  • Tệp có 1 đến 1000 dòng, không có dòng trống; mỗi dòng tối đa 200 ký tự ASCII in được (có thể có tab).

Ví dụ

Dữ liệu vào:

PHONG
Can them o cam
Wifi yeu o phong may

Kết quả:

2: Wifi yeu o phong may

Giải thích ví dụ

Đổi về chữ thường, từ khóa là phong. Dòng 1 can them o cam không chứa; dòng 2 wifi yeu o phong may chứa, nên in số dòng 2 và nội dung gốc của dòng.

Phải đổi cả từ khóa lẫn dòng về cùng một kiểu chữ; chỉ đổi một bên thì PHONG không bao giờ khớp.

Nguồn trong sách: Bài C9-09, mục 9.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...