From 47db74d97875f25448b983a77f6014802c0d1ac1 Mon Sep 17 00:00:00 2001 From: Fafofafoy Date: Mon, 17 Jun 2019 15:28:06 +0800 Subject: [PATCH 1/5] Tsing-li tshi-giam. --- .gitignore | 1 + ...56\345\205\203\350\251\246\351\251\227.py" | 60 ++++--------------- ...56\345\205\203\350\251\246\351\251\227.py" | 60 +++++++++++++++++++ .../\346\225\270\345\255\227/__init__.py" | 0 4 files changed, 74 insertions(+), 47 deletions(-) rename "\350\251\246\351\251\227/\346\255\243\350\246\217/Test\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227\345\226\256\345\205\203\350\251\246\351\251\227.py" => "\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" (76%) create mode 100644 "\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" rename "\350\251\246\351\251\227/\346\255\243\350\246\217/__init__.py" => "\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/__init__.py" (100%) diff --git a/.gitignore b/.gitignore index 16f55992..8bb27809 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ __pycache__/ /.coverage /.project /.pydevproject +/tai5_uan5_gian5_gi2_kang1_ku7.egg-info/ diff --git "a/\350\251\246\351\251\227/\346\255\243\350\246\217/Test\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" similarity index 76% rename from "\350\251\246\351\251\227/\346\255\243\350\246\217/Test\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227\345\226\256\345\205\203\350\251\246\351\251\227.py" rename to "\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" index 726d1d9b..8c1cdfe1 100644 --- "a/\350\251\246\351\251\227/\346\255\243\350\246\217/Test\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -11,53 +11,19 @@ def setUp(self): def tearDown(self): pass - def test_判斷是數字無(self): - self.assertEqual(self.數字.是數字無(''), False) - self.assertEqual(self.數字.是數字無('0'), True) - self.assertEqual(self.數字.是數字無('12312'), True) - self.assertEqual(self.數字.是數字無('1332312'), True) - self.assertEqual(self.數字.是數字無('6'), True) - self.assertEqual(self.數字.是數字無('01332312三'), False) - self.assertEqual(self.數字.是數字無('0013327890'), True) - self.assertEqual(self.數字.是數字無('000'), True) - # 小數本來就會使拆開唸,予別的模組合起來 - self.assertEqual(self.數字.是數字無('00.30'), False) - self.assertEqual(self.數字.是數字無('197.080'), False) - self.assertEqual(self.數字.是數字無('197.08.0'), False) - - def test_轉號碼(self): - 問答 = [ - ('2', '二'), - ('10', '一空'), - ('23', '二三'), - ('15', '一五'), - ('120', '一二空'), - ('230', '二三空'), - ('602', '六空二'), - ('1001', '一空空一'), - ('1020', '一空二空'), - ('1300', '一三空空'), - ('4512', '四五一二'), - ('5004', '五空空四'), - ('6070', '六空七空'), - ('9800', '九八空空'), # 九千八百 - ('10800', '一空八空空'), - ('400000800', '四空空空空空八空空'), - ('1230567890980654', '一二三空五六七八九空九八空六五四'), - ('1300130013', '一三空空一三空空一三'), - ('2000000022222', '二空空空空空空空二二二二二'), - ('10000000000000000', '一空空空空空空空空空空空空空空空空'), - ('0830', '空八三空'), - ] - for 問, 答 in 問答: - if 答 is None: - self.assertEqual(self.數字.是號碼無(問), False) - self.assertEqual(self.數字.轉號碼('空', 問), 問) - else: - self.assertEqual(self.數字.是號碼無(問), True) - self.assertEqual(self.數字.轉號碼('空', 問), 答) - self.assertEqual(self.數字.轉號碼('零', 問), - 答.replace('空', '零')) +# def test_判斷是數字無(self): +# self.assertEqual(self.數字.是數字無(''), False) +# self.assertEqual(self.數字.是數字無('0'), True) +# self.assertEqual(self.數字.是數字無('12312'), True) +# self.assertEqual(self.數字.是數字無('1332312'), True) +# self.assertEqual(self.數字.是數字無('6'), True) +# self.assertEqual(self.數字.是數字無('01332312三'), False) +# self.assertEqual(self.數字.是數字無('0013327890'), True) +# self.assertEqual(self.數字.是數字無('000'), True) +# # 小數本來就會使拆開唸,予別的模組合起來 +# self.assertEqual(self.數字.是數字無('00.30'), False) +# self.assertEqual(self.數字.是數字無('197.080'), False) +# self.assertEqual(self.數字.是數字無('197.08.0'), False) def test_轉數量(self): 問答 = [ diff --git "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" new file mode 100644 index 00000000..8a5684bf --- /dev/null +++ "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +from unittest.case import TestCase +from 臺灣言語工具.正規.阿拉伯數字 import 阿拉伯數字 + + +class 阿拉伯數字單元試驗(TestCase): + def setUp(self): + self.數字 = 阿拉伯數字() + pass + + def tearDown(self): + pass + + def test_判斷是數字無(self): + self.assertEqual(self.數字.是數字無(''), False) + self.assertEqual(self.數字.是數字無('0'), True) + self.assertEqual(self.數字.是數字無('12312'), True) + self.assertEqual(self.數字.是數字無('1332312'), True) + self.assertEqual(self.數字.是數字無('6'), True) + self.assertEqual(self.數字.是數字無('01332312三'), False) + self.assertEqual(self.數字.是數字無('0013327890'), True) + self.assertEqual(self.數字.是數字無('000'), True) + # 小數本來就會使拆開唸,予別的模組合起來 + self.assertEqual(self.數字.是數字無('00.30'), False) + self.assertEqual(self.數字.是數字無('197.080'), False) + self.assertEqual(self.數字.是數字無('197.08.0'), False) + + def test_轉號碼(self): + 問答 = [ + ('2', '二'), + ('10', '一空'), + ('23', '二三'), + ('15', '一五'), + ('120', '一二空'), + ('230', '二三空'), + ('602', '六空二'), + ('1001', '一空空一'), + ('1020', '一空二空'), + ('1300', '一三空空'), + ('4512', '四五一二'), + ('5004', '五空空四'), + ('6070', '六空七空'), + ('9800', '九八空空'), # 九千八百 + ('10800', '一空八空空'), + ('400000800', '四空空空空空八空空'), + ('1230567890980654', '一二三空五六七八九空九八空六五四'), + ('1300130013', '一三空空一三空空一三'), + ('2000000022222', '二空空空空空空空二二二二二'), + ('10000000000000000', '一空空空空空空空空空空空空空空空空'), + ('0830', '空八三空'), + ] + for 問, 答 in 問答: + if 答 is None: + self.assertEqual(self.數字.是號碼無(問), False) + self.assertEqual(self.數字.轉號碼('空', 問), 問) + else: + self.assertEqual(self.數字.是號碼無(問), True) + self.assertEqual(self.數字.轉號碼('空', 問), 答) + self.assertEqual(self.數字.轉號碼('零', 問), + 答.replace('空', '零')) diff --git "a/\350\251\246\351\251\227/\346\255\243\350\246\217/__init__.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/__init__.py" similarity index 100% rename from "\350\251\246\351\251\227/\346\255\243\350\246\217/__init__.py" rename to "\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/__init__.py" From a31fe2c7c1ebf1b77ec72174fdc4058706863429 Mon Sep 17 00:00:00 2001 From: Fafofafoy Date: Mon, 17 Jun 2019 15:45:24 +0800 Subject: [PATCH 2/5] Tsing-li tshi-giam. --- ...56\345\205\203\350\251\246\351\251\227.py" | 80 +++++++++++++++---- ...56\345\205\203\350\251\246\351\251\227.py" | 13 --- 2 files changed, 65 insertions(+), 28 deletions(-) diff --git "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" index 8c1cdfe1..fc49338b 100644 --- "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -3,7 +3,71 @@ from 臺灣言語工具.正規.阿拉伯數字 import 阿拉伯數字 -class 阿拉伯數字單元試驗(TestCase): +class 數量單元試驗(TestCase): + def tearDown(self): + self.assertEqual(阿拉伯數字().轉數量('空', self.題目), self.答案) + + def test_10(self): + self.題目 = '10' + self.答案 = '十' + + def test_15(self): + self.題目 = '15' + self.答案 = '十五' + + def test_單位詞kah數量(self): + self.題目 = '120' + self.答案 = '百二' + + def test_數量kah單位詞kah數量(self): + self.題目 = '2300' + self.答案 = '兩千三' + + def test_一萬以下無0(self): + self.題目 = '4512' + self.答案 = '四千五百一十二' + + def test_百空(self): + self.題目 = '602' + self.答案 = '六百空二' + + def test_大數字(self): + self.題目 = '1230567890980654' + self.答案 = '一千兩百三十兆五千六百七十八億九千空九十八萬空六百五十四' + + def test_2ê(self): + self.題目 = '2' + self.答案 = '兩' + + def test_20ê(self): + self.題目 = '20' + self.答案 = '二十' + + def test_大單位(self): + self.題目 = '2000000000000' + self.答案 = '兩兆' + + def st_xx(self): + 問答 = [ + ('23', '二十三'), + ('1001', '一千空一'), + ('1020', '一千空二十'), + ('1300', '一千三百'), # 千三 一千三 + ('4512', '四千五百一十二'), + ('5004', '五千空四'), + ('6070', '六千空七十'), + ('9800', '九千八百'), # 九千八 + ('10800', '一萬空八百'), + ('400000800', '四億空八百'), + ('1230567890980654', '一千兩百三十兆五千六百七十八億九千空九十八萬空六百五十四'), + ('1300130013', '十三億空一十三萬空一十三'), + ('2000000022222', '兩兆空二萬兩千兩百二十二'), + ('7900000000', '七十九億'), + ('10000000000000000', None), + ('0830', None), + ] + +class 阿拉伯數字單元試驗(): def setUp(self): self.數字 = 阿拉伯數字() pass @@ -11,20 +75,6 @@ def setUp(self): def tearDown(self): pass -# def test_判斷是數字無(self): -# self.assertEqual(self.數字.是數字無(''), False) -# self.assertEqual(self.數字.是數字無('0'), True) -# self.assertEqual(self.數字.是數字無('12312'), True) -# self.assertEqual(self.數字.是數字無('1332312'), True) -# self.assertEqual(self.數字.是數字無('6'), True) -# self.assertEqual(self.數字.是數字無('01332312三'), False) -# self.assertEqual(self.數字.是數字無('0013327890'), True) -# self.assertEqual(self.數字.是數字無('000'), True) -# # 小數本來就會使拆開唸,予別的模組合起來 -# self.assertEqual(self.數字.是數字無('00.30'), False) -# self.assertEqual(self.數字.是數字無('197.080'), False) -# self.assertEqual(self.數字.是數字無('197.08.0'), False) - def test_轉數量(self): 問答 = [ ('2', '兩'), diff --git "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" index 8a5684bf..909e52ac 100644 --- "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\350\231\237\347\242\274\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -11,19 +11,6 @@ def setUp(self): def tearDown(self): pass - def test_判斷是數字無(self): - self.assertEqual(self.數字.是數字無(''), False) - self.assertEqual(self.數字.是數字無('0'), True) - self.assertEqual(self.數字.是數字無('12312'), True) - self.assertEqual(self.數字.是數字無('1332312'), True) - self.assertEqual(self.數字.是數字無('6'), True) - self.assertEqual(self.數字.是數字無('01332312三'), False) - self.assertEqual(self.數字.是數字無('0013327890'), True) - self.assertEqual(self.數字.是數字無('000'), True) - # 小數本來就會使拆開唸,予別的模組合起來 - self.assertEqual(self.數字.是數字無('00.30'), False) - self.assertEqual(self.數字.是數字無('197.080'), False) - self.assertEqual(self.數字.是數字無('197.08.0'), False) def test_轉號碼(self): 問答 = [ From bc7d8a1de3fe4cf3f474e7f56aac5881b603423f Mon Sep 17 00:00:00 2001 From: Fafofafoy Date: Mon, 17 Jun 2019 15:55:47 +0800 Subject: [PATCH 3/5] Ka soo-ji. --- .../\346\255\243\350\246\217/__init__.py" | 0 .../\346\225\270\345\255\227.py" | 84 ++++++++++--------- ...56\345\205\203\350\251\246\351\251\227.py" | 39 +++++---- 3 files changed, 64 insertions(+), 59 deletions(-) delete mode 100644 "\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\346\255\243\350\246\217/__init__.py" rename "\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\346\255\243\350\246\217/\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227.py" => "\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227.py" (89%) diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\346\255\243\350\246\217/__init__.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\346\255\243\350\246\217/__init__.py" deleted file mode 100644 index e69de29b..00000000 diff --git "a/\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\346\255\243\350\246\217/\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227.py" "b/\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227.py" similarity index 89% rename from "\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\346\255\243\350\246\217/\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227.py" rename to "\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227.py" index c15df85c..c7691e52 100644 --- "a/\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\346\255\243\350\246\217/\351\230\277\346\213\211\344\274\257\346\225\270\345\255\227.py" +++ "b/\350\207\272\347\201\243\350\250\200\350\252\236\345\267\245\345\205\267/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227.py" @@ -3,10 +3,6 @@ class 阿拉伯數字(): - 一二三 = '一二三四五六七八九' - 兩 = '兩' - 細位 = ['', '十', '百', '千', ] - 大位 = ['', '萬', '億', '兆', ] def 是數字無(self, 數字): return 數字.isdigit() @@ -35,43 +31,6 @@ def 轉號碼(self, 空, 數字): 漢字.append(空一二三[int(數)]) return ''.join(漢字) - def 轉數量(self, 空, 數字): - if not self.是數量無(數字): - return 數字 - 空一二三 = 空 + self.一二三 - 漢字 = [] - 頭前有空號無 = False - 大位有數字無 = False - for 所在 in range(len(數字)): - 數值 = int(數字[所在]) - 數細位 = (len(數字) - 所在 - 1) % 4 - 數大位 = (len(數字) - 所在 - 1) // 4 - if 數值 == 0: - 頭前有空號無 = True - else: - 大位有數字無 = True - if 頭前有空號無: - 漢字.append(空一二三[0]) - 頭前有空號無 = False - if 數值 == 2: - if 數細位 == 1 or (所在 != 0 and 數細位 == 0): # 二十佮兩億零二萬 - 漢字.append(空一二三[2]) -# elif 數細位==0 and 數大位==0:#二 -# 漢字.append(空一二三[2]) - else: - 漢字.append(self.兩) - else: - 漢字.append(空一二三[數值]) - 漢字.append(self.細位[數細位]) - if 數細位 == 0 and 大位有數字無: - 漢字.append(self.大位[數大位]) - 頭前有空號無 = False - 大位有數字無 = False - 結果 = ''.join(漢字) - if 結果.startswith('一十'): - return 結果[1:] - return 結果 - def 轉閩南語數量無(self, 數量): return self.轉閩南語數量(數量) != 數量 @@ -124,3 +83,46 @@ def 轉官話數量(self, 數量): return 數量[:-2] + self.一二三[1] return 數量[:-1] return 數量 + + +class 台語數字(): + 一二三 = '一二三四五六七八九' + 兩 = '兩' + 細位 = ['', '十', '百', '千', ] + 大位 = ['', '萬', '億', '兆', ] + + def 轉數量(self, 數字): + 空一二三 = '空' + self.一二三 + 漢字 = [] + 頭前有空號無 = False + 大位有數字無 = False + 數字字串 = str(數字) + for 所在 in range(len(數字字串)): + 數值 = int(數字字串[所在]) + 數細位 = (len(數字字串) - 所在 - 1) % 4 + 數大位 = (len(數字字串) - 所在 - 1) // 4 + if 數值 == 0: + 頭前有空號無 = True + else: + 大位有數字無 = True + if 頭前有空號無: + 漢字.append(空一二三[0]) + 頭前有空號無 = False + if 數值 == 2: + if 數細位 == 1 or (所在 != 0 and 數細位 == 0): # 二十佮兩億零二萬 + 漢字.append(空一二三[2]) +# elif 數細位==0 and 數大位==0:#二 +# 漢字.append(空一二三[2]) + else: + 漢字.append(self.兩) + else: + 漢字.append(空一二三[數值]) + 漢字.append(self.細位[數細位]) + if 數細位 == 0 and 大位有數字無: + 漢字.append(self.大位[數大位]) + 頭前有空號無 = False + 大位有數字無 = False + 結果 = ''.join(漢字) + if 結果.startswith('一十'): + return 結果[1:] + return 結果 diff --git "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" index fc49338b..740eb2d0 100644 --- "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -1,50 +1,52 @@ # -*- coding: utf-8 -*- -from unittest.case import TestCase -from 臺灣言語工具.正規.阿拉伯數字 import 阿拉伯數字 +from unittest.case import TestCase, skip +from 臺灣言語工具.語音辨識.數字 import 台語數字 class 數量單元試驗(TestCase): def tearDown(self): - self.assertEqual(阿拉伯數字().轉數量('空', self.題目), self.答案) + self.assertEqual(台語數字().轉數量(self.題目), self.答案) def test_10(self): - self.題目 = '10' + self.題目 = 10 self.答案 = '十' def test_15(self): - self.題目 = '15' + self.題目 = 15 self.答案 = '十五' - def test_單位詞kah數量(self): - self.題目 = '120' - self.答案 = '百二' - - def test_數量kah單位詞kah數量(self): - self.題目 = '2300' - self.答案 = '兩千三' +# @skip +# def test_單位詞kah數量(self): +# self.題目 = 120 +# self.答案 = '百二' +# +# @skip +# def test_數量kah單位詞kah數量(self): +# self.題目 = 2300 +# self.答案 = '兩千三' def test_一萬以下無0(self): - self.題目 = '4512' + self.題目 = 4512 self.答案 = '四千五百一十二' def test_百空(self): - self.題目 = '602' + self.題目 = 602 self.答案 = '六百空二' def test_大數字(self): - self.題目 = '1230567890980654' + self.題目 = 1230567890980654 self.答案 = '一千兩百三十兆五千六百七十八億九千空九十八萬空六百五十四' def test_2ê(self): - self.題目 = '2' + self.題目 = 2 self.答案 = '兩' def test_20ê(self): - self.題目 = '20' + self.題目 = 20 self.答案 = '二十' def test_大單位(self): - self.題目 = '2000000000000' + self.題目 = 2000000000000 self.答案 = '兩兆' def st_xx(self): @@ -67,6 +69,7 @@ def st_xx(self): ('0830', None), ] + class 阿拉伯數字單元試驗(): def setUp(self): self.數字 = 阿拉伯數字() From ce188628703d4119c49f7bc40365b3a2e2da03f2 Mon Sep 17 00:00:00 2001 From: Fafofafoy Date: Mon, 17 Jun 2019 22:38:18 +0800 Subject: [PATCH 4/5] Tsingli taioanoe tshi-giam. --- ...56\345\205\203\350\251\246\351\251\227.py" | 159 +++++------------- 1 file changed, 45 insertions(+), 114 deletions(-) diff --git "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" index 740eb2d0..d5fd3949 100644 --- "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from unittest.case import TestCase, skip from 臺灣言語工具.語音辨識.數字 import 台語數字 +from 臺灣言語工具.語音辨識.數字 import 阿拉伯數字 class 數量單元試驗(TestCase): @@ -15,15 +16,15 @@ def test_15(self): self.題目 = 15 self.答案 = '十五' -# @skip -# def test_單位詞kah數量(self): -# self.題目 = 120 -# self.答案 = '百二' -# -# @skip -# def test_數量kah單位詞kah數量(self): -# self.題目 = 2300 -# self.答案 = '兩千三' + @skip + def test_單位詞kah數量(self): + self.題目 = 180 + self.答案 = '百八' + + @skip + def test_數量kah單位詞kah數量(self): + self.題目 = 2300 + self.答案 = '兩千三' def test_一萬以下無0(self): self.題目 = 4512 @@ -33,6 +34,18 @@ def test_百空(self): self.題目 = 602 self.答案 = '六百空二' + def test_千空(self): + self.題目 = 6078 + self.答案 = '六千空七十八' + + def test_萬空(self): + self.題目 = 6078 + self.答案 = '一萬空九百' + + def test_空十幾(self): + self.題目 = 1300130013 + self.答案 = '十三億空一十三萬空一十三' + def test_大數字(self): self.題目 = 1230567890980654 self.答案 = '一千兩百三十兆五千六百七十八億九千空九十八萬空六百五十四' @@ -45,29 +58,33 @@ def test_20ê(self): self.題目 = 20 self.答案 = '二十' + def test_空二(self): + self.題目 = 102 + self.答案 = '一百空二' + + def test_二單位(self): + self.題目 = 2200000000 + self.答案 = '二十二億' + def test_大單位(self): self.題目 = 2000000000000 self.答案 = '兩兆' - def st_xx(self): - 問答 = [ - ('23', '二十三'), - ('1001', '一千空一'), - ('1020', '一千空二十'), - ('1300', '一千三百'), # 千三 一千三 - ('4512', '四千五百一十二'), - ('5004', '五千空四'), - ('6070', '六千空七十'), - ('9800', '九千八百'), # 九千八 - ('10800', '一萬空八百'), - ('400000800', '四億空八百'), - ('1230567890980654', '一千兩百三十兆五千六百七十八億九千空九十八萬空六百五十四'), - ('1300130013', '十三億空一十三萬空一十三'), - ('2000000022222', '兩兆空二萬兩千兩百二十二'), - ('7900000000', '七十九億'), - ('10000000000000000', None), - ('0830', None), - ] + def test_siunn大(self): + self.題目 = 10000000000000000 + self.答案 = None + + def test_x01x(self): + self.題目 = 1010 + self.答案 = '一千空十' + + def test_x11x(self): + self.題目 = 1110 + self.答案 = None + + def test_xx1x(self): + self.題目 = 1310 + self.答案 = '一千三百十' class 阿拉伯數字單元試驗(): @@ -75,92 +92,6 @@ def setUp(self): self.數字 = 阿拉伯數字() pass - def tearDown(self): - pass - - def test_轉數量(self): - 問答 = [ - ('2', '兩'), - ('10', '十'), - ('23', '二十三'), - ('15', '十五'), - ('120', '一百二十'), # 百二 一百二 - ('230', '兩百三十'), # 兩百三 - ('602', '六百空二'), - ('1001', '一千空一'), - ('1020', '一千空二十'), - ('1200', '一千兩百'), - ('1300', '一千三百'), # 千三 一千三 - ('4512', '四千五百一十二'), - ('5004', '五千空四'), - ('6070', '六千空七十'), - ('9800', '九千八百'), # 九千八 - ('10800', '一萬空八百'), - ('400000800', '四億空八百'), - ('1230567890980654', '一千兩百三十兆五千六百七十八億九千空九十八萬空六百五十四'), - ('1300130013', '十三億空一十三萬空一十三'), - ('2000000022222', '兩兆空二萬兩千兩百二十二'), - ('2000000000000', '兩兆'), - ('7900000000', '七十九億'), - ('10000000000000000', None), - ('0830', None), - ] - self.檢查數量(問答) - - def test_轉兩佮二的數量(self): - 問答 = [ - ('12', '十二'), - ('120', '一百二十'), - ('3200', '三千兩百'), - ('42000', '四萬兩千'), - ('920000', '九十二萬'), - ('1200000', '一百二十萬'), - ('12000000', '一千兩百萬'), - ('32000000', '三千兩百萬'), - ('200000000', '兩億'), - ('820000000', '八億兩千萬'), - ] - self.檢查數量(問答) - - def test_轉閩南語數量省一佮單位(self): - 問答 = [ - ('兩百三十', '兩百三'), - ('六百空二', None), - ('一千空一', None), - ('一千空一十', '一千空十'), - ('一千空二十', None), - ('一千一百一十', '一千一百一'), - ('一千兩百', '千二'), - ('一千三百', '千三'), - ('一千三百一十三', '一千三百十三'), - ('四千五百一十二', '四千五百十二'), - ('五千空四', None), - ('六千空七十', None), - ('九千八百', '九千八'), - ('十三萬空一十三', '十三萬空十三'), - ('一兆空一十六萬七千', '一兆空十六萬七'), - ('七十九億', None), - ] - self.檢查閩南語數量(問答) - - def test_轉閩南語兩佮二數量(self): - 問答 = [ - ('十二', None), - ('一百二十', '百二'), - ('一千兩百', '千二'), - ('三千兩百', '三千二'), - ('四萬兩千', '四萬二'), - ('九十二萬', None), - ('八億兩千萬', None), - ('一百二十萬', '百二萬'), - ('一千兩百萬', '千二萬'), - ('三千兩百萬', None), - ('兩億', None), - ('一千兩百億', '千二億'), - ('三千兩百億', None), - ] - self.檢查閩南語數量(問答) - def test_轉客家話數量省單位(self): 問答 = [ ('一百二十', '百二'), From 09ff57a0c0b985d8f2f62af9e4ad476df0e0d600 Mon Sep 17 00:00:00 2001 From: Fafofafoy Date: Tue, 18 Jun 2019 10:31:07 +0800 Subject: [PATCH 5/5] Ka le --- ...\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" index d5fd3949..9f08eae4 100644 --- "a/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" +++ "b/\350\251\246\351\251\227/\350\252\236\351\237\263\350\276\250\350\255\230/\346\225\270\345\255\227/Test\346\225\270\351\207\217\345\226\256\345\205\203\350\251\246\351\251\227.py" @@ -80,7 +80,7 @@ def test_x01x(self): def test_x11x(self): self.題目 = 1110 - self.答案 = None + self.答案 = '一千一百十' def test_xx1x(self): self.題目 = 1310