Repository: terean-dspd/numbers-2-rus

Issue:
Ошибка конвертации для чисел от 20 до 99
![image](https://user-images.githubusercontent.com/31948979/73152887-0397e580-40eb-11ea-8544-d45a20a77119.png)


Comments:

Patch:
diff --git a/num2rus/converter.py b/num2rus/converter.py
index 89d38e1..212840d 100644
--- a/num2rus/converter.py
+++ b/num2rus/converter.py
@@ -131,7 +131,7 @@ NUMBERS = {
         40: "сорок",
         50: "пятьдесят",
         60: "шестьдесят",
-        70: "семьдесять",
+        70: "семьдесят",
         80: "восемьдесят",
         90: "девяносто",
     },
diff --git a/num2rus/main.py b/num2rus/main.py
index e586db5..6049e24 100644
--- a/num2rus/main.py
+++ b/num2rus/main.py
@@ -30,7 +30,7 @@ def chopper(num: int) -> Tuple[str, str]:
     marks them as
     `миллиард`, `миллион`, `тысяча`, `сотня`, `единица`, `десятка`
     """
-    num_str = str(num)
+    num_str = str(num) # '20'
     while len(num_str) > 0:
         if 13 > len(num_str) >= 10:
             step = len(num_str) - 9
@@ -50,9 +50,12 @@ def chopper(num: int) -> Tuple[str, str]:
         if len(num_str) == 1:
             yield num_str, 'единица'
             break
-        if len(num_str) == 2:
+        if len(num_str) == 2 and num_str[0] == '1':
             yield num_str, 'десятка'
             break
+        else:
+            yield num_str, 'сотня'
+            break
 
 
 def decimal_parser(number_str: str, zero_on: bool = True) -> Tuple[str, str]:
@@ -157,7 +160,6 @@ def converter(number: float, zero_on: bool = True) -> str:
     dec_str = "{0:.2f}".format(decimal - integet_part)
     decimal_part: str = dec_str.split('.')[1]
     result = ''
-    tl_g = ''
     for number, size in chopper(integet_part):
         string, tl, rub = main_parser(number, size)
         result += string + tl + ' '
@@ -169,4 +171,4 @@ def converter(number: float, zero_on: bool = True) -> str:
 
 if __name__ == "__main__":
     # num = input()
-    converter(34102)
+    converter(20)


Test patch:
diff --git a/num2rus/tests.py b/num2rus/tests.py
index d3ac079..02acd9b 100644
--- a/num2rus/tests.py
+++ b/num2rus/tests.py
@@ -27,6 +27,43 @@ class Testconverter(unittest.TestCase):
         result = converter(10, zero_on=False)
         self.assertEqual(result, 'десять рублей')
 
+    def test_20(self):
+        result = converter(20, zero_on=False)
+        self.assertEqual(result, 'двадцать рублей')
+
+    def test_21(self):
+        result = converter(21, zero_on=False)
+        self.assertEqual(result, 'двадцать один рубль')
+
+    def test_25(self):
+        result = converter(25, zero_on=False)
+        self.assertEqual(result, 'двадцать пять рублей')
+
+    def test_30(self):
+        result = converter(30, zero_on=False)
+        self.assertEqual(result, 'тридцать рублей')
+
+    def test_33(self):
+        result = converter(33, zero_on=False)
+        self.assertEqual(result, 'тридцать три рубля')
+
+    def test_43(self):
+        result = converter(43, zero_on=False)
+        self.assertEqual(result, 'сорок три рубля')
+
+    def test_50(self):
+        result = converter(50, zero_on=False)
+        self.assertEqual(result, 'пятьдесят рублей')
+    def test_75(self):
+        result = converter(75, zero_on=False)
+        self.assertEqual(result, 'семьдесят пять рублей')
+
+    def test_90(self):
+        result = converter(90, zero_on=False)
+        self.assertEqual(result, 'девяносто рублей')
+    def test_99(self):
+        result = converter(99, zero_on=False)
+        self.assertEqual(result, 'девяносто девять рублей')
     def test_100(self):
         result = converter(100, zero_on=False)
         self.assertEqual(result, 'сто рублей')
@@ -246,9 +283,6 @@ class TestconverterNonZeroKops(unittest.TestCase):
         result = converter(123.40)
         self.assertEqual(result, 'сто двадцать три рубля сорок копеек')
 
-    def test_1_z_123_40(self):
-        result = converter(123.40)
-        self.assertEqual(result, 'сто двадцать три рубля сорок копеек')
 
     def test_1_z_133_41(self):
         result = converter(133.41)