Mã 2 và 3:
ones = {
0: '', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five', 6: 'six',
7: 'seven', 8: 'eight', 9: 'nine', 10: 'ten', 11: 'eleven', 12: 'twelve',
13: 'thirteen', 14: 'fourteen', 15: 'fifteen', 16: 'sixteen',
17: 'seventeen', 18: 'eighteen', 19: 'nineteen'}
tens = {
2: 'twenty', 3: 'thirty', 4: 'forty', 5: 'fifty', 6: 'sixty',
7: 'seventy', 8: 'eighty', 9: 'ninety'}
illions = {
1: 'thousand', 2: 'million', 3: 'billion', 4: 'trillion', 5: 'quadrillion',
6: 'quintillion', 7: 'sextillion', 8: 'septillion', 9: 'octillion',
10: 'nonillion', 11: 'decillion'}
def say_number[i]:
"""
Convert an integer in to it's word representation.
say_number[i: integer] -> string
"""
if i < 0:
return _join['negative', _say_number_pos[-i]]
if i == 0:
return 'zero'
return _say_number_pos[i]
def _say_number_pos[i]:
if i < 20:
return ones[i]
if i < 100:
return _join[tens[i // 10], ones[i % 10]]
if i < 1000:
return _divide[i, 100, 'hundred']
for illions_number, illions_name in illions.items[]:
if i < 1000**[illions_number + 1]:
break
return _divide[i, 1000**illions_number, illions_name]
def _divide[dividend, divisor, magnitude]:
return _join[
_say_number_pos[dividend // divisor],
magnitude,
_say_number_pos[dividend % divisor],
]
def _join[*args]:
return ' '.join[filter[bool, args]]
test:
def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
Mô-đun Num2Words trong Python, chuyển đổi số [như 34] thành các từ [như ba mươi tư]. Ngoài ra, thư viện này có hỗ trợ cho nhiều ngôn ngữ. Trong bài viết này, chúng ta sẽ thấy cách chuyển đổi số thành các từ bằng cách sử dụng num2words
Module.
Cài đặt có thể dễ dàng cài đặt num2words
bằng PIP.
One can easily install num2words
using pip.
pip install num2words
Hãy xem xét hai trích đoạn sau từ các tệp khác nhau được lấy từ 20 nhóm tin, cơ sở dữ liệu NLP phổ biến. Tiền xử lý 20 nhóm tin một cách hiệu quả vẫn là một vấn đề quan tâm.
Trong bài viết, Martin Preston viết: Tại sao không sử dụng thư viện PD C để đọc/viết các tệp TIFF? Tôi đã mất 20 phút để bắt đầu sử dụng chúng trong ứng dụng của riêng bạn.iscis VIII là lần thứ tám của một loạt các cuộc họp đã tập hợp các nhà khoa học và kỹ sư máy tính từ khoảng hai mươi quốc gia. Hội nghị năm nay sẽ được tổ chức tại Thành phố Khu nghỉ mát Địa Trung Hải xinh đẹp của Antalya, trong một khu vực giàu có về các địa điểm tự nhiên cũng như lịch sử.20 minutes to start using them in your own app.
ISCIS VIII is the eighth of a series of meetings which have brought together computer scientists and engineers from about twenty countries. This year’s conference will be held in the beautiful Mediterranean resort city of Antalya, in a region rich in natural as well as historical sites.
Trong hai trích đoạn trên, người ta có thể quan sát rằng số 20 20 xuất hiện ở cả hai dạng số và bảng chữ cái. Đơn giản chỉ cần làm theo các bước xử lý trước, liên quan đến mã thông báo, hóa hóa và vv sẽ không thể ánh xạ vào 20, và hai mươi vào cùng một thân cây, có tầm quan trọng theo ngữ cảnh. May mắn thay, chúng tôi có thư viện được xây dựng, num2words
giải quyết vấn đề này trong một dòng.
Dưới đây là việc sử dụng mẫu của công cụ.
from
num2words
import
num2words
def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
1def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
2def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
3def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
4def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
1def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
2def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
3def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
8def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
9 pip install num2words0
def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
4def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
1def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
2def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
3def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
8def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
9 pip install num2words7
def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
4def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
1def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
2def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
3def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
8def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
9 thirty-six thirty-sixth 36th zero euro, thirty-six cents treinta y seis4
def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
4def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
1def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
2def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
3def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
8def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
9 num2words
1def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
4def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
1def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
2def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
3num2words
6def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
9num2words
8def test_say_number[data, expected_output]:
"""Test cases for say_number[i]."""
output = say_number[data]
assert output == expected_output, \
"\n for: {}\n expected: {}\n got: {}".format[
data, expected_output, output]
test_say_number[0, 'zero']
test_say_number[1, 'one']
test_say_number[-1, 'negative one']
test_say_number[10, 'ten']
test_say_number[11, 'eleven']
test_say_number[99, 'ninety nine']
test_say_number[100, 'one hundred']
test_say_number[111, 'one hundred eleven']
test_say_number[999, 'nine hundred ninety nine']
test_say_number[1119, 'one thousand one hundred nineteen']
test_say_number[999999,
'nine hundred ninety nine thousand nine hundred ninety nine']
test_say_number[9876543210,
'nine billion eight hundred seventy six million '
'five hundred forty three thousand two hundred ten']
test_say_number[1000**1, 'one thousand']
test_say_number[1000**2, 'one million']
test_say_number[1000**3, 'one billion']
test_say_number[1000**4, 'one trillion']
test_say_number[1000**5, 'one quadrillion']
test_say_number[1000**6, 'one quintillion']
test_say_number[1000**7, 'one sextillion']
test_say_number[1000**8, 'one septillion']
test_say_number[1000**9, 'one octillion']
test_say_number[1000**10, 'one nonillion']
test_say_number[1000**11, 'one decillion']
test_say_number[1000**12, 'one thousand decillion']
test_say_number[
1-1000**12,
'negative nine hundred ninety nine decillion nine hundred ninety nine '
'nonillion nine hundred ninety nine octillion nine hundred ninety nine '
'septillion nine hundred ninety nine sextillion nine hundred ninety nine '
'quintillion nine hundred ninety nine quadrillion nine hundred ninety '
'nine trillion nine hundred ninety nine billion nine hundred ninety nine'
' million nine hundred ninety nine thousand nine hundred ninety nine']
4Output:
thirty-six thirty-sixth 36th zero euro, thirty-six cents treinta y seis
Do đó, trong bước xử lý trước, người ta có thể chuyển đổi tất cả các giá trị số thành các từ để có độ chính xác tốt hơn trong các giai đoạn tiếp theo.
Tài liệu tham khảo: //pypi.org/project/num2words/ //pypi.org/project/num2words/