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

本文介绍了一个使用Python和Pygame构建的翻译应用,该应用能够实现中英文之间的相互转换,并且可以播放翻译后的内容。应用通过调用百度翻译API获取翻译结果,用户可以通过输入框输入待翻译文本,翻译结果会显示在屏幕上,同时提供了语音播放功能。
摘要由CSDN通过智能技术生成

概述

实现一个翻译功能,中英文的互相转换。并可以播放翻译后的内容。 翻译接口调用的是百度翻译的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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值