python电子英汉词典显示_Python实现汉英字典

概述

实现一个翻译功能,中英文的互相转换。并可以播放翻译后的内容。 翻译接口调用的是百度翻译的api接口。

详细

一、需求分析

使用pygame实现一个翻译功能,并可以播放翻译内容。(模仿百度翻译做一个简单的demo)

二、程序实现

1、初始化pygame环境,声明出页面def renderText(text, position, view=screen):

# 设置字体样式大小

my_font = pygame.font.SysFont("SimHei", 25)

# 渲染文字

text = my_font.render(text, True, (255, 255, 255))

view.blit(text, position)

2、利用easygui弹出框实现内容输入import easygui as g

mg = g.enterbox('需要翻译的内容', title='翻译') # 文本输入框

3、将输入的内容显示到页面上def text(self, text):

global inputstr

self.strtext = text

print("验证 输入的内容呀:" + self.strtext)

renderText(self.strtext, (500, 100))

inputstr = self.strtext

print("inputstr:" + inputstr)

4、翻译功能的实现

翻译的实现,主要是向百度的翻译HTTP接口提交数据,然后获得返回,

实现如下:def GetResult(self):

q = self.strtext # 获取输入的内容

# 判断用户是否输入了内容

if q == "":

print("请先输入内容")

self.content.append("")

else:

print("输入的语句:" + q)

url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'

salt = str(random.randint(32768, 65536))

sigin = self._appid + q + salt + self._key

print(sigin)

m1 = hashlib.md5()

m1.update(sigin.encode('utf8'))

sign = m1.hexdigest()

print("加密更新后的:" + sign)

myurl = "" # 防止出现myurl未定义错误

for ch in q.encode('utf8'):

if ch > 127:

myurl = url + '?q=' + urllib.parse.quote(q) +

'&from=' + str(self._to) + '&to=' + str(self._from)+

'&appid=' + str(self._appid) + '&salt=' + str(salt)+

'&sign=' + sign

else:

myurl = url + '?q=' + urllib.parse.quote(q) +

'&from=' + str(self._from) + '&to=' + str(self._to)+

'&appid=' + str(self._appid) + '&salt=' + str(salt)+

'&sign=' + sign

response = requests.get(myurl)

data = response.json()

print(data)

length = len(data['trans_result'])

print(len(data['trans_result']))

print_content = "" # 存放翻译后的内容

for i in range(0, length):

if i == 0: # 防止第一行就出现换行

print_content = data['trans_result'][i]['dst']

else:

pri

你可能感兴趣的:(python电子英汉词典显示)