ví dụ 1
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["In English: ",end=""]
print[number_2_word[n]]
đầu ra
ví dụ 2. chúng tôi sẽ chuyển đổi số sang vị trí kỹ thuật số của nó một cách khôn ngoan. Chẳng hạn, nếu số là 12, thì kết quả sẽ là mười hai. Điều tương tự sẽ được thực hiện cho phần còn lại của đầu vào Dạy một người cách đánh vần các con số liên quan đến rất nhiều sự lặp lại. Jack Hartmann của Tampa Bay, người có kênh YouTube giáo dục dành cho trẻ em có hơn một triệu người đăng ký và 300 triệu lượt xem, biết điều này. Anh ấy có một video dạy trẻ em các từ chỉ các số từ 0 đến 10 Đừng đánh giá thấp sức mạnh của video dành cho trẻ em — Jack cười suốt chặng đường đến ngân hàng. Người ước tính trực tuyến này nói rằng kênh YouTube của anh ấy sẽ kiếm được khoảng 70.000 đô la mỗi tháng và hãy nhớ rằng công việc cụ thể của anh ấy có thể được hưởng lợi từ việc mọi người bị mắc kẹt ở nhà. Tôi có thể phải làm điều gì đó tương tự với đàn accordion khi mốt phần mềm này qua đi Nếu bạn chỉ muốn có thể chuyển đổi bất kỳ số nào từ 0 đến 10 thành dạng từ trong Python, bạn có thể sử dụng một danh sách… …và nếu bạn muốn số 3 ở dạng từ, bạn sẽ sử dụng số này Bạn sẽ không muốn thực hiện phương pháp này cho một tập hợp số lớn hơn và có thể bạn sẽ không muốn tự mình viết mã. May mắn thay, bạn không phải làm điều này trong Python, nhờ vào biến tố. mô-đun pynumber_words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']
# This is in the Python REPL
>>> number_words[3]
'three'
sử dụng uốn cong. py
Bạn có 1 mặt hàng trong giỏ hàng của bạn
…hoặc cái này…
Bạn có một quả trứng trong hành trang của mình
…bạn có thể sử dụng inflect. py để tự động sử dụng đúng dạng số ít hoặc số nhiều, sử dụng “a” hoặc “an” khi thích hợp, v.v.
[Tôi sẽ bao gồm sự biến đổi. py chi tiết hơn trong một bài viết trong tương lai. ]
Ngoài tất cả những điều bổ ích về ngữ pháp này, hãy biến tấu. py cũng có thể được sử dụng để chuyển đổi số thành từ
Để sử dụng biến. py, bạn sẽ cần cài đặt nó trước. Cách đơn giản nhất để làm như vậy là với pip
pip install inflect
Sau khi cài đặt, bạn có thể sử dụng nó trong các chương trình Python của mình. Đây là một ví dụ
import inflect inflector = inflect.engine[] words = inflector.number_to_words[54321] print[words]
Nó tạo ra đầu ra này
năm mươi bốn nghìn ba trăm hai mươi mốt
Phương thức
# This is in the Python REPL >>> number_words[3] 'three'0 có một số tham số tùy chọn hữu ích trong một số trường hợp nhất định. Chẳng hạn, có tham số boolean
# This is in the Python REPL >>> number_words[3] 'three'1, khiến đầu ra từ bị chia thành "khối"
words = inflector.number_to_words[54321, wantlist=True]
Nó tạo ra đầu ra này
[‘năm mươi bốn nghìn’, ‘ba trăm hai mươi mốt’]
Giả sử bạn muốn số được chuyển đổi thành các chữ số riêng lẻ của nó dưới dạng từ. Bạn sẽ sử dụng tham số
# This is in the Python REPL >>> number_words[3] 'three'2
# This is in the Python REPL >>> inflector.number_to_words[54321, group=1] 'five, four, three, two, one' >>> inflector.number_to_words[54321, group=2] 'fifty-four, thirty-two, one' >>> inflector.number_to_words[54321, group=3] 'five forty-three, twenty-one'
Điều gì sẽ xảy ra nếu bạn đang sử dụng tham số
# This is in the Python REPL >>> number_words[3] 'three'2 được đặt thành 1, nhưng muốn lấy tất cả tiếng Anh Anh và sử dụng từ “không” cho số không?
number_words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']2
Tham số
# This is in the Python REPL >>> number_words[3] 'three'5 làm điều tương tự, nhưng đối với chữ số 1
number_words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']4
Muốn có được tất cả Star Trek?
number_words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']6
Rất nhiều hướng dẫn về phong cách yêu cầu bạn đánh vần các số từ 0 đến 10 và sử dụng dạng số cho các số từ 11 trở lên. Tham số
# This is in the Python REPL >>> number_words[3] 'three'7 giúp việc này trở nên dễ dàng
number_words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']8
Tiếp tục - nhập khẩu. py và chơi với nó. Có rất nhiều sức mạnh trong mô-đun đó và nó vượt xa việc chỉ chuyển đổi từ thành số
Cũng đáng để kiểm tra
Nếu bạn là một lập trình viên iOS/macOS, bạn sẽ muốn xem bài viết trước, Chuyển đổi một số từ dạng số thành chữ chỉ trong bốn dòng Swift