Môn Tin họcQuản lý học tập Tin học

Sửa lỗi chương trình tách họ tên thành viên CLB Điền kinh

Lớp 10Lập trìnhpythonGiải quyết vấn đề với máy tínhVận dụng cao

Thang điểm 10 · 4 test case chấm tự động · 3 tiêu chí chấm

Câu lạc bộ Điền kinh của trường THPT đang xây dựng chương trình quản lý danh sách thành viên để lập bảng thi đấu theo tên riêng (không tính họ đệm). Bạn Lan đã viết một chương trình Python để tách tên (từ cuối cùng trong họ tên) và họ đệm (các từ còn lại), nhưng khi chạy thử, chương trình báo lỗi hoặc cho kết quả sai.

Chương trình của Lan như sau:

  • n = int(input())
  • for i in range(n):
  •     s = input()
  •     sline = s.split()
  •     m = len(sline)
  •     ten = sline[m]
  •     hodem = " ".join(sline[:m-1])
  •     print("Tên:", ten, "- Họ đệm:", hodem)

Em hãy tìm lỗi trong chương trình trên (gợi ý: liên quan đến chỉ số của phần tử cuối cùng trong danh sách - chỉ số hợp lệ lớn nhất của danh sách có k phần tử là bao nhiêu?), sửa lại cho đúng và viết lại chương trình hoàn chỉnh.

Định dạng vào: Dòng đầu tiên là số nguyên n - số thành viên. n dòng tiếp theo, mỗi dòng là họ tên đầy đủ của một thành viên (các từ cách nhau bởi dấu cách, mỗi họ tên có ít nhất 2 từ).

Định dạng ra: Với mỗi thành viên, in một dòng theo định dạng: Tên: <tên> - Họ đệm: <họ đệm>.

InputOutput
1
Nguyễn Văn An
Tên: An - Họ đệm: Nguyễn Văn
3
Trần Thị Bình
Lê Văn Cường
Phạm Minh Đức
Tên: Bình - Họ đệm: Trần Thị
Tên: Cường - Họ đệm: Lê Văn
Tên: Đức - Họ đệm: Phạm Minh
#split#join#danh sách#off-by-one#gỡ lỗi#category:tu_duy_phan_bien#difficulty:analyzing

Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.

Giáo viên đăng nhập để giao bài