Menu
CoddyTech

Phân tích từ ngữ

Thuộc phần Logic và luồng chương trình trong hành trình Python của Coddy. Bài học 77 trên 78.

challenge icon

Thử thách

Khó

Tạo một hàm tên là analyze_text để phân tích các từ trong một chuỗi văn bản.

Hàm của bạn cần:

  1. Đếm số từ duy nhất, không phân biệt chữ hoa chữ thường
  2. Tìm tất cả các từ xuất hiện nhiều hơn một lần
  3. Xác định tất cả các từ palindrome, tức là những từ đọc xuôi hay ngược đều giống nhau, như "level"

Trả về một từ điển có ba khóa:

  • unique_count: số lượng từ duy nhất, tính mỗi từ lặp lại một lần
  • repeated_words: danh sách đã sắp xếp gồm các từ xuất hiện nhiều hơn một lần
  • palindromes: danh sách đã sắp xếp gồm các từ palindrome

Lưu ý:

  • Không phân biệt chữ hoa chữ thường khi xét từ, ví dụ: "Hello" và "hello" là cùng một từ
  • Xóa mọi dấu câu (.,!?:;"()) khỏi các từ
  • Sắp xếp theo thứ tự bảng chữ cái cả danh sách repeated_words và palindromes

Đầu vào mẫu:

"Madam saw a racecar. Dad said hello hello to mom."

Đầu ra mong đợi:

{
    'unique_count': 9,
    'repeated_words': ['hello'],
    'palindromes': ['a', 'dad', 'madam', 'mom', 'racecar']
}

Tự làm thử

def analyze_text(text):
    # Viết lời giải của bạn ở đây
    
    # 1. Tách văn bản thành các từ và chuẩn hóa chúng
    # (chuyển thành chữ thường và bỏ dấu câu)
    
    # 2. Đếm số lần xuất hiện của từng từ
    
    # 3. Tìm số lượng từ không trùng lặp
    
    # 4. Xác định các từ lặp lại (xuất hiện nhiều hơn một lần)
    
    # 5. Tìm các từ đọc xuôi hay ngược đều giống nhau
    
    # 6. Trả về kết quả trong một từ điển (dictionary) chứa các danh sách đã sắp xếp
    pass

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch Python online