python编程:从入门到实践读后感,初学python的体会心得
作为一个南方人,拼音学得不好似乎是很正常的。惊艳的声音和鼻音,近几年终于有些清晰了。但尴尬的事情还在继续。发邮件的时候,总有几个单词拼错;说话的时候,绕不开舌头,忘不了鼻音.我很担心,我有一个用SuperMemo强化拼音的训练计划。
要实现这个方案,必须满足两个条件。一个选定的汉字范围是——个,一级国标有3700多个汉字。其次,要求通过编程将这些汉字转换成拼音,使拼音有声调。这需要对转换向导进行适度的转换。
根据hzqghost(jkdfk)的童鞋代号,做了如下修改。
部分代码采用了这个码表。下载到
当源代码是python2.x时,转换成python。
3.x
最后加了一部分音码,原码有一些错误,引起了傻大姐的注意,不愿意修复这个错误。
以下是相关代码的一部分,分步讲解。
1.读取秒表并将其转换为dict:
文件名=。/Mandarin.dat
self.dict={}
Forlineinopen(文件名):
k,v=line.split((\t)).
自我字典[k]=v
2.然后处理输入的中文字符串:
self.yunmu=(ang , eng , ing , an , in , un , ai , ao , ou
self.sheng={a :、 o : e :、 I : e :
结果=[]
对于chars中的char:# chars是繁体中文字符串。
Key=%x%ord(char))将中文字符转换成utf16码,并在码表文件中使用此码。
尝试:
Py=self.dict [key]。拆分(“”)[0]。脱衣)。lower) #只取检测到的拼音的第一个值,将结果转换成小写。
对于ym在self.yunmu:
Ifre.search(ym,py) :# match
py=getpy(py,ym)).
Break#只取第一个结果
结果追加(py)
除了:
结果.追加(字符)
返回“”。join(结果))).
原来的self.yunmu设定不合理。遇到 ui , iu , ie , ue 四个韵母时,在第一个字符上标注声调,从元组中去掉 ui , ie , ue 三个值。这样匹配时,根据A和O,后面的getPy中需要对 iu 的final进行特殊处理。
3.在一致的最后标出基调:
defgetpy(py,ym):
T=py[-1:]。encode(ascii,)、ignore),)码表)返回的拼音串最后一位是数字,表示声调值。
T2=%d%ord(t)))
T3=(国际)T2 )- 48 ) %4 -1
Py=py [:-len (ym)-1] #首字母
If if ym==iu:#最后是iu
Letter=self.sheng [ym [1]。拆分[] [t3] #声调字符用u填充。
Ym=ym[0]字母
否则:
Letter=self.sheng [ym [0]。split [] [t3] #在其他情况下,空格会附加到第一个字符。
ym=字母ym[1:]
py=py2 ym
返回py
最终代码如下。
De fcn代码(自身,字符):
defgetpy(py,ym):
T=py[-1:]。encode(ascii,)、ignore),)码表)返回的拼音串最后一位是数字,表示声调值。
T2=%d%ord(t)))
T3=(国际)T2 )- 48 ) %4 -1
Py=py [:-len (ym)-1] #首字母
If if ym==iu:#最后是iu
Letter=self.sheng [ym [1]。拆分[] [t3] #声调字符用u填充。
Ym=ym[0]字母
否则:
Letter=self.sheng [ym [0]。split [] [t3] #在其他情况下,空格会附加到第一个字符。
ym=字母ym[1:]
py=py2 ym
返回py
文件名=。/Mandarin.dat
self.dict={}
Forlineinopen(文件名):
k,v=line.split((\t)).
自我字典[k]=v
self.yunmu=(ang , eng , ing , an , in , un , ai , ao , ou
self.sheng={a :、 o : e :、 I : e :
结果=[]
对于chars中的char:# chars是繁体中文字符串。
Key=%x%ord(char))将中文字符转换成utf16码,并在码表文件中使用此码。
尝试:
Py=self.dict [key]。拆分(“”)[0]。脱衣)。lower) #只取检测到的拼音的第一个值,将结果转换成小写。
对于ym在self.yunmu:
Ifre.search(ym,py) :# match
py=getpy(py,ym)).
Break#只取第一个结果
结果追加(py)
除了:
结果.追加(字符)
返回“”。join(结果))).
通话时,仅此而已:
Chars=不愿去英国魔术学院
打印(self.cn代码(字符))
结果如下图所示。
而现在的文字通常是朗读,用换行符分割,一个一个输入得到拼音,最后拼成tab文字。这样,您可以使用转换向导来创建课程。这里就不重复细节了。
附上最后一道菜:
本文版权归英国魔法学院所有。欢迎转载。转载请注明作者和出处。谢谢大家!
作者:不要犹豫,开始@学习能力博客
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。