Tạo một chương trình python điều khiển menu với một từ điển cho các từ và nghĩa của chúng

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.

Làm thế nào từ điển có thể được tạo ra trong Python giải thích với ví dụ?

Từ điển là một bộ sưu tập không có thứ tự chứa khóa. các cặp giá trị được phân tách bằng dấu phẩy bên trong dấu ngoặc nhọn. Từ điển được tối ưu hóa để truy xuất các giá trị khi biết khóa. Sau đây khai báo một đối tượng từ điển. Tuy nhiên, một danh sách có thể được sử dụng như một giá trị

Làm cách nào để tạo từ điển từ danh sách trong Python?

Để chuyển đổi danh sách thành từ điển sử dụng các giá trị giống nhau, bạn có thể sử dụng lệnh. phương thức fromkeys[] . Để chuyển đổi hai danh sách thành một từ điển, bạn có thể sử dụng hàm zip[] của Python. Khả năng hiểu từ điển cho phép bạn tạo một từ điển mới dựa trên các giá trị của danh sách.

Chủ Đề