C7-10 · Tách họ, tên đệm, tên

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

Nguồn: Bài C7-10, mục 7.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long.

Đề

Cho một dòng chứa họ tên (tiếng Việt không dấu) gồm ít nhất hai từ, gõ lộn xộn: có thể thừa dấu cách, chữ hoa chữ thường lẫn lộn. Hãy chuẩn hóa họ tên (mỗi từ viết hoa chữ đầu, các chữ còn lại viết thường — như Ví dụ 7.4), rồi in ba dòng:

  1. họ — từ đầu tiên;
  2. tên đệm — các từ nằm giữa từ đầu và từ cuối, cách nhau đúng một dấu cách; nếu họ tên chỉ có hai từ thì không có tên đệm, in -;
  3. tên — từ cuối cùng.

Dữ liệu vào

Một dòng chứa họ tên.

Kết quả

Ba dòng: họ, tên đệm (hoặc -), tên — đã chuẩn hóa.

Ràng buộc

  • Dòng dài từ ~1~ đến ~200~ ký tự, chỉ gồm chữ cái a–z, A–Z và dấu cách.
  • Có ít nhất ~2~ từ; dấu cách có thể thừa ở đầu, ở cuối, giữa hai từ.

Gợi ý

split() (không đối số) rồi lát cắt danh sách: cac_tu[0], cac_tu[1:-1], cac_tu[-1] (mục 6.1, 7.3.2). Tên đệm ghép lại bằng " ".join(...).

Lưu ý về chấm

Hệ thống so từng ký tự của mỗi dòng kết quả (chỉ bỏ qua dấu cách thừa ở cuối dòng): các từ của tên đệm cách nhau đúng một dấu cách, không có dấu cách ở đầu dòng. Lấy các từ bằng split() rồi ghép bằng " ".join(...), đừng cắt thẳng từ chuỗi gốc.

Ví dụ 1

Dữ liệu vào:

ton nu thi   phuong thao

Kết quả:

Ton
Nu Thi Phuong
Thao

Ví dụ 2

Dữ liệu vào:

  LE   an 

Kết quả:

Le
-
An

Giải thích ví dụ

  • Ví dụ 1: năm từ; họ Ton, tên Thao, ba từ ở giữa Nu Thi Phuong là tên đệm (dấu cách thừa giữa thi và phuong bị bỏ).
  • Ví dụ 2: chỉ có hai từ nên dòng tên đệm in -. LE được chuẩn hóa thành Le.

Nguồn trong sách: bài tập C7-10 (mục 7.10) · Mức: (***)


Đang tải...