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


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…

number_words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']

…và nếu bạn muốn số 3 ở dạng từ, bạn sẽ sử dụng số này

# This is in the Python REPL
>>> number_words[3]
'three'

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

sử dụng uốn cong. py

thổi phồng. py là một mô-đun thực hiện tất cả các loại xử lý để làm cho đầu ra văn bản của chương trình của bạn đúng ngữ pháp. Nếu bạn ghét nhìn thấy đầu ra như thế này…

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

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.

Chủ Đề