-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathp210_ngoo_siok_thong_zu_im.py
123 lines (89 loc) · 3.17 KB
/
p210_ngoo_siok_thong_zu_im.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#==========================================================
# 模組功能:提供 "注音轉換功能" ,令聲母、韻母及聲調,能於不同的注音方法
# 之間相互轉換。
#
# 支援的注音方法有:國際音標、白話字、台羅、閩拼、方音符號、雅俗通十五音。
#==========================================================
import sqlite3
def init_siann_bu_dict():
# 建立連接
conn = sqlite3.connect('Nga_Siok_Thong.db')
# 建立游標物件
cursor = conn.cursor()
# 執行 SQL 查詢
cursor.execute("SELECT * FROM 聲母對照表")
# 獲取所有資料
rows = cursor.fetchall()
# 初始化字典
siann_bu_dict = {}
# 從查詢結果中提取資料並將其整理成一個字典
for row in rows:
siann_bu_dict[row[1]] = {
'code': row[1],
'ipa': row[2],
'poj': row[3],
'tl': row[4],
'bp': row[5],
'tps': row[6],
'sni': row[7],
}
# 關閉連接
conn.close()
return siann_bu_dict
def init_un_bu_dict():
# 建立連接
conn = sqlite3.connect('Nga_Siok_Thong.db')
# 建立游標物件
cursor = conn.cursor()
# 執行 SQL 查詢
cursor.execute("SELECT * FROM 韻母對照表")
# 獲取所有資料
rows = cursor.fetchall()
# 初始化字典
un_bu_dict = {}
# 從查詢結果中提取資料並將其整理成一個字典
for row in rows:
un_bu_dict[row[1]] = {
'code': row[1],
'ipa': row[2],
'poj': row[3],
'tl': row[4],
'bp': row[5],
'tps': row[6],
'sni': row[7],
'sni_su_ho': int(row[8]),
'sni_su_ciok_sing': row[9],
}
# 關閉連接
conn.close()
return un_bu_dict
if __name__ == "__main__":
siann_bu_dict = init_siann_bu_dict()
siann_code = 'c'
siann_bu_tl = siann_bu_dict[siann_code]['tl']
assert siann_bu_tl == 'tsh', "轉換錯誤!"
siann_bu_ipa = siann_bu_dict[siann_code]['ipa']
assert siann_bu_ipa == 'ʦʰ', "轉換錯誤!"
siann_bu_poj = siann_bu_dict[siann_code]['poj']
assert siann_bu_poj == 'chh', "轉換錯誤!"
siann_bu_bp = siann_bu_dict[siann_code]['bp']
assert siann_bu_bp == 'c', "轉換錯誤!"
siann_bu_tps = siann_bu_dict[siann_code]['tps']
assert siann_bu_tps == 'ㄘ', "轉換錯誤!"
siann_bu_sni = siann_bu_dict[siann_code]['sni']
assert siann_bu_sni == '出', "轉換錯誤!"
#--------------------------------------------------
un_bu_dict = init_un_bu_dict()
un_code = 'ee'
un_bu_tl = un_bu_dict[un_code]['tl']
assert un_bu_tl == 'ee', "轉換錯誤!"
un_bu_ipa = un_bu_dict[un_code]['ipa']
assert un_bu_ipa == 'ɛ', "轉換錯誤!"
un_bu_poj = un_bu_dict[un_code]['poj']
assert un_bu_poj == 'e', "轉換錯誤!"
un_bu_bp = un_bu_dict[un_code]['bp']
assert un_bu_bp == 'e', "轉換錯誤!"
un_bu_tps = un_bu_dict[un_code]['tps']
assert un_bu_tps == 'ㄝ', "轉換錯誤!"
un_bu_sni = un_bu_dict[un_code]['sni']
assert un_bu_sni == '嘉', "轉換錯誤!"