Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách chuyển đổi một số thành từ ngữ của nó [số-khôn ngoan]. Chẳng hạn, nếu số là 12, các từ sẽ là “một-hai”. Một điều tương tự sẽ được thực hiện cho phần còn lại của đầu vào
Triển khai mã
Chúng tôi sẽ làm theo một số bước được đề cập dưới đây
Bước 1. Tạo danh sách Toàn cầu để ánh xạ chữ số sang từ
Tạo một danh sách chung chứa các từ cho mỗi chữ số từ 0 đến 9. Danh sách sẽ chứa các phần tử được ánh xạ tới chỉ mục như trong bảng bên dưới
Chỉ mục0123456789Từ ngữ / Giá trịzeroonehaibabốnnămsáubảytámchínDanh sách toàn cầu để ánh xạ chữ số sang từ# Global Array storing word for each digit arr = ['zero','one','two','three','four','five','six','seven','eight','nine']
Bước 2. Lấy đầu vào của số và tạo chức năng chính
Để lấy đầu vào của số, chúng tôi sẽ sử dụng hàm input
và sau đó nhập nó thành số nguyên và chúng tôi cũng sẽ tạo một hàm trống sẽ chuyển đổi số của chúng tôi thành từ theo kiểu chữ số
# Global Array storing word for each digit arr = ['zero','one','two','three','four','five','six','seven','eight','nine'] def number_2_word[n]: pass n = int[input[]] print["Number Entered was : ", n] print["Converted to word it becomes: ",end=""] print[number_2_word[n]]
Bước 3. Mã hóa logic chính bên trong chức năng
Đối với mã này, chúng tôi sẽ sử dụng Đệ quy. Nếu bạn có rất ít hoặc không có kiến thức về Đệ quy, tôi khuyên bạn nên xem hướng dẫn được đề cập bên dưới
Đọc thêm về đệ quy. Đệ quy trong Python
Đối với mỗi cuộc gọi đệ quy, chúng tôi sẽ kiểm tra xem số của tôi có trở thành 0 hay không, nếu đúng như vậy, chúng tôi sẽ trả về một chuỗi trống, nếu không, chúng tôi sẽ tiếp tục thêm các từ cho mỗi chữ số với sự trợ giúp của hàm mô đun và chia số cho 10 để thu nhỏ số
Việc triển khai mã được hiển thị bên dưới và các nhận xét được thêm vào để bạn hiểu
# Global Array storing word for each digit arr = ['zero','one','two','three','four','five','six','seven','eight','nine'] def number_2_word[n]: # If all the digits are encountered return blank string if[n==0]: return "" else: # compute spelling for the last digit small_ans = arr[n%10] # keep computing for the previous digits and add the spelling for the last digit ans = number_2_word[int[n/10]] + small_ans + " " # Return the final answer return ans n = int[input[]] print["Number Entered was : ", n] print["Converted to word it becomes: ",end=""] print[number_2_word[n]]
đầu ra
Number Entered was : 123 Converted to word it becomes: one two three
Number Entered was : 46830 Converted to word it becomes: four six eight three zero
Phần kết luận
Vì vậy, khi kết thúc hướng dẫn này, chúng ta đã thấy rằng các số có thể dễ dàng được chuyển đổi thành từ ngữ [số-khôn ngoan] một cách khá dễ dàng và đơn giản bằng cách sử dụng Đệ quy
Đây là một mô-đun Python để chuyển đổi các từ số [ví dụ:. hai mươi mốt] sang chữ số [21]. Nó hoạt động với các số dương trong phạm vi 999.999.999.999 [i. e. tỷ] Dưới đây là cài đặt, cách sử dụng và các chi tiết khác của mô-đun này
Cài đặt
Vui lòng đảm bảo rằng bạn đã cập nhật pip lên phiên bản mới nhất trước khi cài đặt word2number
Bạn có thể cài đặt mô-đun bằng Chỉ mục gói Python bằng lệnh bên dưới
pip install word2number
Hãy chắc chắn rằng bạn cài đặt tất cả các yêu cầu đưa ra trong yêu cầu. txt
pip install -r requirements.txt
Cách sử dụng
Trước tiên, bạn phải nhập mô-đun bằng mã bên dưới
from word2number import w2n
Sau đó, bạn có thể sử dụng phương thức word_to_num để chuyển đổi một từ số thành các chữ số, như minh họa bên dưới
________số 8_______
print[w2n.word_to_num['two point three']]
2.3
print[w2n.word_to_num['112']]
112
print[w2n.word_to_num['point one']]
0.1
print[w2n.word_to_num['one hundred thirty-five']]
135
print[w2n.word_to_num['million million']]
Error: Redundant number! Please enter a valid number word [eg. two million twenty three thousand and forty nine]
None
print[w2n.word_to_num['blah']]
Error: No valid number words found! Please enter a valid number word [eg. two million twenty three thousand and forty nine]
None
Lỗi/lỗi
Vui lòng đảm bảo rằng bạn đã cập nhật pip lên phiên bản mới nhất trước khi cài đặt word2number
Nếu bạn tìm thấy bất kỳ lỗi/lỗi nào trong việc sử dụng đoạn mã trên, vui lòng nêu vấn đề thông qua Github. Nếu bạn không biết cách sử dụng Github hoặc nêu vấn đề thông qua nó, tôi khuyên bạn nên tìm hiểu nó. Nếu không, hãy gửi email đến akshay2626@gmail. com với một ví dụ rõ ràng có thể tái tạo sự cố
người đóng góp
- Ben Batorsky bpben
- Alex ledovsky
- Tal Yarkoni tyarkoni
- Buttered Groove Buttered Groove
Giấy phép
Giấy phép MIT [MIT]
Bản quyền [c] 2016 Akshay Nagpal [https. //github. com/akshaynagpal]
Theo đây, quyền được cấp miễn phí cho bất kỳ người nào có được bản sao của phần mềm này và các tệp tài liệu liên quan ["Phần mềm"], để xử lý Phần mềm mà không bị hạn chế, bao gồm nhưng không giới hạn các quyền sử dụng, sao chép, sửa đổi, hợp nhất
Thông báo bản quyền ở trên và thông báo cấp phép này sẽ được bao gồm trong tất cả các bản sao hoặc phần quan trọng của Phần mềm
PHẦN MỀM ĐƯỢC CUNG CẤP "NGUYÊN TRẠNG", KHÔNG CÓ BẢO ĐẢM DƯỚI BẤT KỲ HÌNH THỨC NÀO, RÕ RÀNG HAY NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN CÁC BẢO ĐẢM VỀ KHẢ NĂNG BÁN ĐƯỢC, TÍNH PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ VÀ KHÔNG VI PHẠM. TRONG BẤT KỲ TRƯỜNG HỢP NÀO TÁC GIẢ HOẶC NGƯỜI GIỮ BẢN QUYỀN SẼ KHÔNG CHỊU TRÁCH NHIỆM PHÁP LÝ VỀ BẤT KỲ KHIẾU NẠI, THIỆT HẠI HOẶC TRÁCH NHIỆM PHÁP LÝ KHÁC NÀO, DÙ TRONG MỘT HÀNH ĐỘNG HỢP ĐỒNG, NGOẠI TỆ HOẶC CÁCH NÀO KHÁC, PHÁT SINH TỪ, NGOÀI HOẶC LIÊN QUAN ĐẾN PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC CÁC GIAO DỊCH KHÁC TRONG