Untitled
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...