Untitled

 avatar
unknown
python
3 years ago
3.3 kB
5
Indexable
# có lời khen là có chịu khó document nha nhưng anh hơi nghi ngờ là nó có thể
# chạy được dù là case keyword 1 từ =]]


#Xac_dinh_file_can_read
filename = input("Nhập tên file bạn muốn sử dụng:") # không phải lỗi nhưng có
                                                    # thể cách ra ở cuối string
                                                    # cho đẹp, giống ở dưới á

#Xác_định_từ_khóa_để_match
keyword = input("Nhập từ khoá bạn cần tìm: ")

#Initialize_biến_để_đếm_số_lần_từ_khoá_xuất hiện
counter = 0

#Đọc_file
text = open("filename", "r") # [BUG] filename là biến nên đừng để trong ngoặc
# biến text ở đây chỉ là biến để quản lý file được mở lên thôi chứ chưa chứa
# nội dung, em cần phải đọc vào nữa.
# để đọc vào thì mình có thể sử dụng một vài cách sau đây: (có thể uncomment
# để dùng luôn ha)
# f = open(filename, 'r')
#
# content = f.read() # lệnh này đọc toàn bộ nội dung của file thành một string
#                    # duy nhất. nếu có nhiều dòng thì mỗi dòng cách nhau một
#                    # ký tự return ('\n').
#
# lines = f.readlines() # lệnh này đọc toàn bộ nội dung của file thành một list
#                       # of strings mà mỗi string là một dòng. khuyên dùng

#Tokenize_text_document_into_sentence
sentence = text.split # [BUG] thiếu đóng mở ngoặc () là chạy không được đâu nha
# chỗ này anh hiểu ý đồ của em là split a whole document into lines phải không?
# ngoài việc biến text không chứa nội dung như anh đã nói ở trên thì ngay bên
# dưới em lại dùng nó để chạy for-loop. điều này là cho dùng này coi như thừa
# thãi luôn.

# Loop through each sentence of the file
for sentence in text: # anh không biết em nghĩ biến text này chứa gì nhưng nếu
                      # em cho rằng biến text này là một string thì mỗi trong
                      # vòng lặp, setence chỉ là một ký tự thôi.
    #Convert the characters in sentence to lowercase to avoid case mismatch
    Sentence = sentence.lower() # rất không khuyến khích đặt biến mới bằng cách
                                # in hoa ký tự đầu như thế này nha =]]
                                # tốt nhất là em nên đặt một cái tên nào dễ
                                # hiểu hơn như là lower_sentence, all_lowercase
                                # hay new_sentence.
    
    #Split the sentence into words
    words = sentence.split(" ") # xong ở đây em lại dùng sentence để split là
                                # coi như biến Sentence ở trên bỏ mứa luôn.

#Iterate over each word in sentence
for word in words:
    if word == keyword: # ở đây em để ý là do em split by khoảng trắng nên mỗi
                        # word chỉ là một từ thôi, đối với keyword có nhiều từ
                        # thì làm sao mà kiểm tra được đúng không?
        counter = counter + 1
    print(f"Từ khoá {keyword} xuất hiện {counter} lần")
Editor is loading...