Readability - CS50x 2026
Bài toán cần giải quyết
Hãy viết một chương trình trong tệp readability.py nằm trong thư mục sentimental-readability, yêu cầu người dùng nhập vào một đoạn văn bản, sau đó xuất ra cấp độ lớp học (grade level) của văn bản đó theo công thức Coleman-Liau, tương tự như những gì bạn đã làm trong Problem Set 2, ngoại trừ việc chương trình lần này phải được viết bằng Python.
Demo
Yêu cầu kỹ thuật
- Hãy nhớ rằng chỉ số Coleman-Liau được tính bằng công thức
0.0588 * L - 0.296 * S - 15.8, trong đóLlà số chữ cái trung bình trên 100 từ trong văn bản, vàSlà số câu trung bình trên 100 từ trong văn bản. - Sử dụng hàm
get_stringtừ thư viện CS50 để lấy dữ liệu nhập từ người dùng, và hàmprintđể xuất kết quả. - Chương trình của bạn nên đếm số lượng chữ cái, từ và câu trong văn bản. Bạn có thể giả định rằng một chữ cái là bất kỳ ký tự thường nào từ
ađếnzhoặc ký tự hoa từAđếnZ, bất kỳ chuỗi ký tự nào được phân tách bằng khoảng trắng sẽ được tính là một từ, và bất kỳ sự xuất hiện nào của dấu chấm, dấu chấm than hoặc dấu hỏi chấm đều biểu thị sự kết thúc của một câu. - Chương trình của bạn nên in ra kết quả
"Grade X", trong đóXlà cấp độ lớp học được tính bởi công thức Coleman-Liau, được làm tròn đến số nguyên gần nhất. - Nếu chỉ số kết quả là 16 hoặc cao hơn (tương đương hoặc lớn hơn trình độ đọc của sinh viên năm cuối đại học), chương trình của bạn nên xuất ra
"Grade 16+"thay vì đưa ra số chỉ số chính xác. Nếu chỉ số nhỏ hơn 1, chương trình của bạn nên xuất ra"Before Grade 1".
Cách kiểm thử
Mặc dù check50 có sẵn cho bài toán này, bạn nên tự kiểm tra mã nguồn của mình trước với mỗi trường hợp sau đây.
- Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpOne fish. Two fish. Red fish. Blue fish.và nhấn enter. Chương trình của bạn sẽ xuất raBefore Grade 1. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpWould you like them here or there? I would not like them here or there. I would not like them anywhere.và nhấn enter. Chương trình của bạn sẽ xuất raGrade 2. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpCongratulations! Today is your day. You're off to Great Places! You're off and away!và nhấn enter. Chương trình của bạn sẽ xuất raGrade 3. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpHarry Potter was a highly unusual boy in many ways. For one thing, he hated the summer holidays more than any other time of year. For another, he really wanted to do his homework, but was forced to do it in secret, in the dead of the night. And he also happened to be a wizard.và nhấn enter. Chương trình của bạn sẽ xuất raGrade 5. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpIn my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.và nhấn enter. Chương trình của bạn sẽ xuất raGrade 7. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpAlice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, "and what is the use of a book," thought Alice "without pictures or conversation?"và nhấn enter. Chương trình của bạn sẽ xuất raGrade 8. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpWhen he was nearly thirteen, my brother Jem got his arm badly broken at the elbow. When it healed, and Jem's fears of never being able to play football were assuaged, he was seldom self-conscious about his injury. His left arm was somewhat shorter than his right; when he stood or walked, the back of his hand was at right angles to his body, his thumb parallel to his thigh.và nhấn enter. Chương trình của bạn sẽ xuất raGrade 8. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpThere are more things in Heaven and Earth, Horatio, than are dreamt of in your philosophy.và nhấn enter. Chương trình của bạn sẽ xuất raGrade 9. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpIt was a bright cold day in April, and the clocks were striking thirteen. Winston Smith, his chin nuzzled into his breast in an effort to escape the vile wind, slipped quickly through the glass doors of Victory Mansions, though not quickly enough to prevent a swirl of gritty dust from entering along with him.và nhấn enter. Chương trình của bạn sẽ xuất raGrade 10. - Chạy chương trình bằng lệnh
python readability.pyvà đợi lời nhắc nhập dữ liệu. NhậpA large class of computational problems involve the determination of properties of graphs, digraphs, integers, arrays of integers, finite families of finite sets, boolean formulas and elements of other countable domains.và nhấn enter. Chương trình của bạn sẽ xuất raGrade 16+.
Tính đúng đắn
check50 cs50/problems/2026/x/sentimental/readability
Phong cách lập trình
style50 readability.py
Cách nộp bài
Trong terminal, hãy thực hiện lệnh dưới đây để nộp bài làm của bạn, đồng thời trả lời các câu hỏi hiện lên.
submit50 cs50/problems/2026/x/sentimental/readability