Làm thế nào để bạn biến một số thành một từ trong python?
Ví dụ 1, chúng ta sẽ chuyển đổi một số thành từ ngữ của nó. 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
Show ví dụ 1arr = ['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 py
…hoặc cái này…
…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
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
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 traNế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 Làm cách nào tôi có thể chuyển đổi một số thành từ?Sử dụng hàm SpellNumber trong các ô riêng lẻ . Nhập công thức =SpellNumber(A1) vào ô mà bạn muốn hiển thị một số được viết, trong đó A1 là ô chứa số bạn muốn chuyển đổi. Bạn cũng có thể nhập thủ công giá trị như =SpellNumber(22. 50) Nhấn Enter để xác nhận công thức num2words trong Python là gì?num2words là thư viện chuyển đổi các số như 42 thành các từ như bốn mươi hai . Nó hỗ trợ nhiều ngôn ngữ (xem danh sách bên dưới để biết danh sách đầy đủ các ngôn ngữ) và thậm chí có thể tạo các số thứ tự như bốn mươi giây (mặc dù tính năng cuối cùng này có một chút lỗi đối với một số ngôn ngữ vào lúc này).
Làm cách nào để chuyển đổi số nguyên thành chuỗi Python?Để chuyển đổi một số nguyên thành chuỗi trong Python, hãy sử dụng hàm str() . Hàm này lấy bất kỳ loại dữ liệu nào và chuyển đổi nó thành một chuỗi, bao gồm cả số nguyên. Sử dụng cú pháp print(str(INT)) để trả về int dưới dạng str hoặc chuỗi. |