Python Bài 3.B1: Phân tích văn bản
LÀM BÀI
Points:
15 (partial)
Time limit:
2.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Python
Mô tả bài toán
Một công ty xuất bản cần phân tích các đoạn văn bản. Họ yêu cầu bạn viết một chương trình với các chức năng: đếm số từ, đếm tần suất xuất hiện của mỗi từ, tìm từ dài nhất và ngắn nhất. Ngoài ra, chương trình cần có khả năng bỏ qua các dấu câu và không phân biệt chữ hoa chữ thường khi phân tích.
INPUT FORMAT
- Dòng 1: Số nguyên n là số dòng văn bản (1 ≤ n ≤ 10)
- n dòng tiếp theo: mỗi dòng là một đoạn văn bản (độ dài mỗi dòng ≤ 200 ký tự)
- Dòng cuối: Số nguyên type (1: đếm từ, 2: tần suất, 3: từ dài/ngắn nhất)
OUTPUT FORMAT
Tùy theo giá trị type:
- type = 1: Số từ trong văn bản
- type = 2: Các từ và số lần xuất hiện (sắp xếp theo tần suất giảm dần)
- type = 3: Từ dài nhất và ngắn nhất, cách nhau bởi dấu phẩy
Ví dụ:
Input
2
Python is a great programming language.
Python is easy to learn and use!
2
Output
python: 2
is: 2
a: 1
great: 1
programming: 1
language: 1
easy: 1
to: 1
learn: 1
and: 1
use: 1
Giải thích
Đếm từ (type = 1):
- Tách các từ, bỏ qua dấu câu: [python, is, a, great, programming, language, python, is, easy, to, learn, and, use]
- Số từ = 13
Tần suất (type = 2):
- python: 2 lần
- is: 2 lần
- a, great, programming, language, easy, to, learn, and, use: mỗi từ 1 lần
- Sắp xếp theo tần suất giảm dần
Từ dài/ngắn nhất (type = 3):
- Dài nhất: "programming" (11 ký tự)
- Ngắn nhất: "a" (1 ký tự)
Comments