MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / convert_small_number

Function convert_small_number

conversions/convert_number_to_words.py:95–134  ·  view source on GitHub ↗

Converts small, non-negative integers with irregular constructions in English (i.e., numbers under 100) into words. >>> convert_small_number(0) 'zero' >>> convert_small_number(5) 'five' >>> convert_small_number(10) 'ten' >>> convert_small_number(15) 'fifteen

(num: int)

Source from the content-addressed store, hash-verified

93
94
95def convert_small_number(num: int) -> str:
96 """
97 Converts small, non-negative integers with irregular constructions in English (i.e.,
98 numbers under 100) into words.
99
100 >>> convert_small_number(0)
101 'zero'
102 >>> convert_small_number(5)
103 'five'
104 >>> convert_small_number(10)
105 'ten'
106 >>> convert_small_number(15)
107 'fifteen'
108 >>> convert_small_number(20)
109 'twenty'
110 >>> convert_small_number(25)
111 'twenty-five'
112 >>> convert_small_number(-1)
113 Traceback (most recent call last):
114 ...
115 ValueError: This function only accepts non-negative integers
116 >>> convert_small_number(123)
117 Traceback (most recent call last):
118 ...
119 ValueError: This function only converts numbers less than 100
120 """
121 if num < 0:
122 raise ValueError("This function only accepts non-negative integers")
123 if num >= 100:
124 raise ValueError("This function only converts numbers less than 100")
125 tens, ones = divmod(num, 10)
126 if tens == 0:
127 return NumberWords.ONES.value[ones] or "zero"
128 if tens == 1:
129 return NumberWords.TEENS.value[ones]
130 return (
131 NumberWords.TENS.value[tens]
132 + ("-" if NumberWords.ONES.value[ones] else "")
133 + NumberWords.ONES.value[ones]
134 )
135
136
137def convert_number(

Callers 1

convert_numberFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected