def radicalTags(atom): if atom >= '\u4e00' and atom <= '\u9fff': radical = Radical() rad = radical.get_radical(atom) return rad else: return '-'
def sin(theta): while theta < 0: theta += 360 theta = theta % 360 refa = utility.RefAngle(theta) bNeg = theta > 180 if refa == 0: return Radical(0, 0, 0) elif refa == 30: return Radical(-1 if bNeg else 1, 2, 1) elif refa == 45: return Radical(-1 if bNeg else 1, 2, 2) elif refa == 60: return Radical(-1 if bNeg else 1, 2, 3) else: return Radical(-1 if bNeg else 1, 1, 1)
def build_radical_features(texts): radical = Radical(RunOption.Radical) radicals_feature = [] distinct_radicals = set() for txt in texts: radical_txt = [] for w in txt: ra = radical.trans_ch(w) if ra is not None: radical_txt.append(ra) radicals_feature.append(' '.join(radical_txt)) distinct_radicals.update(radical_txt) return len(distinct_radicals), radicals_feature
def arcsin(rad): if rad == Radical(-1, 1, 1): return -90 if rad == Radical(-1, 2, 3): return -60 if rad == Radical(-1, 2, 2): return -45 if rad == Radical(-1, 2, 1): return -30 if rad == Radical(0, 1, 1): return 0 if rad == Radical(1, 2, 1): return 30 if rad == Radical(1, 2, 2): return 45 if rad == Radical(1, 2, 3): return 60 if rad == Radical(1, 1, 1): return 90 return -1
def arccos(rad): if rad == Radical(-1, 1, 1): return 180 if rad == Radical(-1, 2, 3): return 150 if rad == Radical(-1, 2, 2): return 135 if rad == Radical(-1, 2, 1): return 120 if rad == Radical(0, 1, 1): return 90 if rad == Radical(1, 2, 1): return 60 if rad == Radical(1, 2, 2): return 45 if rad == Radical(1, 2, 3): return 30 if rad == Radical(1, 1, 1): return 0 return -1
def cot(theta): stan = tan(theta) return Radical(stan.co.denominator, stan.co.numerator * stan.rad, stan.rad)
def csc(theta): ssin = sin(theta) return Radical(ssin.co.denominator, ssin.co.numerator * ssin.rad, ssin.rad)
def sec(theta): scos = cos(theta) return Radical(scos.co.denominator, scos.co.numerator * scos.rad, scos.rad)
def shape(string): return Radical.to_radical(string)
import os, re, sys from langconv import * def Simplified2Traditional(sentence): ''' 将sentence中的简体字转为繁体字 :param sentence: 待转换的句子 :return: 将句子中简体字转换为繁体字之后的句子 ''' sentence = Converter('zh-hant').convert(sentence) return sentence if __name__ == '__main__': radical = Radical() #duti_dict={} #优先显示偏旁列表 26个常用偏旁 出现在60%汉字 pry_pp = [ '人', '亻', '女', '忄', '犭', '纟', '走', '辶', '鸟', '鱼', '钅', '月', '肉', '目', '食', '饣', '口', '足', '虫', '木', '言', '讠', '扌', '氵', '火', '灬', '土', '艹', '日', '山', '疒', '日', '石' ] #偏旁笔画 dutizi = {} #汉字起源图片 {汉字:汉字图片url} hzorig = {} #汉字偏旁 {汉字偏旁:汉字} hzpp = {}
def to_radical(src, des): with open(src) as s, open(des, 'w') as d: for line in s: for c in line: d.write(Radical.to_radical(c))
def getBushou(word): radical = Radical() res=radical.get_radical(word) return res
# encoding=utf-8 from radical import Radical if __name__ == '__main__': radical = Radical() # 如果需要查找的字在字典中,则直接返回其偏旁部首 print radical.get_radical('好') # 本地词典查不到,则从百度汉语中查找 print radical.get_radical('淥') # 可通过下面操作保存新加入的字 # radical.save()