Blog này nói về việc tạo ứng dụng Từ điển nghĩa từ tương tác bằng Python. Các khái niệm về JSON, Đọc tệp, Cấu trúc dữ liệu Python và difflib
mô-đun đang được sử dụng
Chúng tôi sẽ xây dựng Từ điển tương tác cho phép người dùng tìm kiếm từ mong muốn và nghĩa của từ đó, đồng thời cung cấp gợi ý từ phù hợp nhất trong trường hợp người dùng viết sai chính tả hoặc nhập sai
Đầu tiên, cần tạo một tập dữ liệu chứa các từ và các nghĩa khác nhau được liên kết với nó
Tiếp thị hội thoại là từ. Nhà đầu tư theo hướng dữ liệu
Trước khi mua hàng, hãy nói chuyện. Các nhà tiếp thị làm được điều đó sẽ dẫn đầu cuộc chơi. Đó là tiền đề của những gì Paul Ince…
www. nhà đầu tư dữ liệu. com
Hãy sử dụng tệp JSON để lưu trữ các từ dưới dạng khóa và nghĩa là giá trị của nó
Dữ liệu trong tệp JSON
Bạn có thể lấy tệp json của mình từ liên kết này. https. // thô. githubusercontent. com/diljeet1994/Python_Tutorials/master/Blog%20Work/Dictionary/Interactive%20Dictionary/words. json
Chúng tôi cần thực hiện các bước sau để Ứng dụng từ điển của chúng tôi hoạt động hoàn hảo
- Tải tệp JSON vào python
- Yêu cầu người dùng cho một Word
- Chuyển từ đó vào hàm word_ meaning[] trong đó mã sẽ tìm nghĩa của từ đầu vào trong các từ. tập tin json
- hàm word_ meaning[] sẽ không chỉ tìm nghĩa của từ. json mà còn phân tích từ đó để kiểm tra xem liệu người dùng có gõ nhầm từ đó và mang nghĩa khác hay không, điều này sẽ làm cho từ điển của chúng ta có tính tương tác
Trong đoạn mã dưới đây, tôi đã sử dụng hàm get_close_matches[] của mô-đun difflib bên trong hàm word_ meaning[] để phân tích từ và làm cho ứng dụng của chúng ta có tính tương tác, mô-đun difflib cung cấp các lớp và hàm để so sánh trình tự
get_close_matches. Trả về danh sách các trận đấu 'đủ tốt' tốt nhất. Word là một chuỗi mà các kết quả khớp gần đúng được mong muốn [thường là một chuỗi] và các khả năng là một danh sách các chuỗi để khớp từ [thường là một danh sách các chuỗi]
Hãy bắt đầu với việc nhập các thư viện mong muốn
Bây giờ, chúng ta cần tải dữ liệu json trong mã
Cuối cùng, phần chính của mã của chúng tôi, hàm word_ meaning[], sẽ phân tích từ và trả về kết quả mong muốn
Hãy kiểm tra chức năng của chúng tôi bằng cách nhập bất kỳ từ nào
Và đây là hàm word_ meaning[] sẽ trả về
Hãy thử lại với một số lỗi chính tả và xem cách hàm word_ meaning[] phân tích nó và cung cấp cho chúng ta lựa chọn từ đúng
Bạn có thể thấy trong đoạn mã trên mà chúng tôi hỏi ý nghĩa của 'wrd', có thể là lỗi chính tả của — ['word', 'world', 'weird'] và sau đó mã yêu cầu chọn tùy chọn mong muốn
Đây là Chương trình Python để tạo từ điển với khóa là ký tự đầu tiên và giá trị là các từ bắt đầu bằng ký tự đó
Mô tả vấn đề
Chương trình lấy một chuỗi và tạo một từ điển với khóa là ký tự đầu tiên và giá trị là các từ bắt đầu bằng ký tự đó
Giải pháp vấn đề
1. Nhập một chuỗi và lưu trữ nó trong một biến.
2. Khai báo một từ điển trống.
3. Chia chuỗi thành các từ và lưu trữ trong danh sách.
4. Sử dụng vòng lặp for và câu lệnh if để kiểm tra xem từ đó đã xuất hiện dưới dạng khóa trong từ điển chưa.
5. Nếu nó không xuất hiện, hãy khởi tạo chữ cái của từ làm khóa và từ đó làm giá trị và nối nó vào danh sách con được tạo trong danh sách.
6. Nếu có, hãy thêm từ làm giá trị vào danh sách phụ tương ứng.
7. In từ điển cuối cùng.
8. Lối ra.
Chương trình/Mã nguồn
Đây là mã nguồn của Chương trình Python để tạo từ điển với khóa là ký tự đầu tiên và giá trị là các từ bắt đầu bằng ký tự đó. Đầu ra chương trình cũng được hiển thị bên dưới
Từ điển của Python là một cách thuận tiện để tạo các menu để sử dụng trong các chương trình của bạn. Chương trình sau đây không làm gì phức tạp lắm. Nó chỉ cần lấy một từ làm đầu vào và in nó tiến hoặc lùi tùy thuộc vào lựa chọn menu. Cũng lưu ý việc sử dụng các câu lệnh try-ngoại trừ để xử lý việc thoát khỏi chương trình và đầu vào không hợp lệ
import string def printForward[word]: for chr in word: print string.upper[chr], print def printBackward[word]: for i in range[len[word]-1, -1, -1]: # count backward from the end of word print string.upper[word[i]], print def main[]: menu = {'F': printForward, 'B': printBackward} while 1: try: word = raw_input["Type a word [Ctrl-D to quit]: "] except EOFError: print "Bye." break prompt = "Print '%s' [F]orward or [B]ackward? " % word choice = string.upper[raw_input[prompt]] try: menu[choice][word] except KeyError: print "'%s' is not a valid option. Try again." % choice if __name__ == '__main__': main[]
Chạy chương trình trông như thế này
Type a word [Ctrl-D to quit]: sibley Print 'sibley' [F]orward or [B]ackward? f S I B L E Y Type a word [Ctrl-D to quit]: warriors Print 'warriors' [F]orward or [B]ackward? b S R O I R R A W Type a word [Ctrl-D to quit]: Bye.