File tree 1 file changed +75
-0
lines changed
1 file changed +75
-0
lines changed Original file line number Diff line number Diff line change
1
+ def word_to_number (word ):
2
+ numbers_dict = {
3
+ "zero" : 0 ,
4
+ "one" : 1 ,
5
+ "two" : 2 ,
6
+ "three" : 3 ,
7
+ "four" : 4 ,
8
+ "five" : 5 ,
9
+ "six" : 6 ,
10
+ "seven" : 7 ,
11
+ "eight" : 8 ,
12
+ "nine" : 9 ,
13
+ "ten" : 10 ,
14
+ "eleven" : 11 ,
15
+ "twelve" : 12 ,
16
+ "thirteen" : 13 ,
17
+ "fourteen" : 14 ,
18
+ "fifteen" : 15 ,
19
+ "sixteen" : 16 ,
20
+ "seventeen" : 17 ,
21
+ "eighteen" : 18 ,
22
+ "nineteen" : 19 ,
23
+ "twenty" : 20 ,
24
+ "thirty" : 30 ,
25
+ "forty" : 40 ,
26
+ "fifty" : 50 ,
27
+ "sixty" : 60 ,
28
+ "seventy" : 70 ,
29
+ "eighty" : 80 ,
30
+ "ninety" : 90 ,
31
+ "hundred" : 100 ,
32
+ "thousand" : 1000 ,
33
+ "lakh" : 100000 ,
34
+ "crore" : 10000000 ,
35
+ "billion" : 1000000000 ,
36
+ "trillion" : 1000000000000 ,
37
+ }
38
+
39
+ # Split the string into words
40
+ words = word .split ()
41
+
42
+ result = 0
43
+ current_number = 0
44
+
45
+ # Ways I can make this more efficient:
46
+ for w in words :
47
+ if w in numbers_dict :
48
+ current_number += numbers_dict [w ]
49
+ elif w == "hundred" :
50
+ current_number *= 100
51
+ elif w == "thousand" :
52
+ result += current_number * 1000
53
+ current_number = 0
54
+ elif w == "lakh" :
55
+ result += current_number * 100000
56
+ current_number = 0
57
+ elif w == "crore" :
58
+ result += current_number * 10000000
59
+ current_number = 0
60
+ elif w == "billion" :
61
+ result += current_number * 1000000000
62
+ current_number = 0
63
+ elif w == "trillion" :
64
+ result += current_number * 1000000000000
65
+ current_number = 0
66
+
67
+ result += current_number
68
+
69
+ return result
70
+
71
+
72
+ # Example usage:
73
+ number_str = "two trillion seven billion fifty crore thirty-four lakh seven thousand nine hundred"
74
+ result = word_to_number (number_str )
75
+ print (result )
You can’t perform that action at this time.
0 commit comments