Untitled
unknown
python
3 years ago
3.3 kB
7
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...