python - 如何用python制作翻译器?
问题描述
几天前我从字面上开始,我需要帮助:(我想创建一个程序来将一个短语翻译成别的东西
前任:
程序
0000000000000000000000000000000000000000000
“要翻译的短语”
(这里是人写的句子)
激活命令的按钮
(这里出现了翻译的短语)
0000000000000000000000000000000000000000000
或类似的东西
我已经有了改字的代码,我正在创建界面,我已经学会了创建窗口,但我仍然不知道如何粘贴我的翻译:(
这就是我所拥有的
frase=input("Escribe la frase: ")
entrada="abcdefghilmnopqrstuvxyz"
salida="mnopqrstuvxyzabcdefghil"
letras=frase.maketrans(entrada,salida)
print(frase.translate(letras))
import tkinter as tk
ventana=tk.Tk()
ventana.title("traductor")
ventana.geometry('200x300')
ventana.configure(background='white')
frase=tk.Entry(ventana)
frase.pack(fill=tk.X,padx=5,pady=5,ipadx=5,ipady=5)
root = tk.Button(ventana,text="Traducir:",bg="black",fg="white")
root.pack(padx=20,pady=10)
我怎样才能“组合”这两个代码(?
解决方案
您需要做的是创建一个名为 label 的 tk 小部件:
label = tk.Label(ventana, width=20)
label.pack()
然后您可以简单地创建一个名为 translate 的函数并根据需要配置标签的文本
def translate(phrase):
label.config(text=phrase)
最后,您应该将功能绑定translate
到按钮,以便当您按下它时会发生魔法:)
像这样:
root = tk.Button(ventana,text="Traducir:",bg="black",fg="white", command=lambda: translate(phrase=frase.get()))
这是一些准备好根据您的问题尝试的代码
import tkinter as tk
ventana=tk.Tk()
ventana.title("traductor")
ventana.geometry('200x300')
ventana.configure(background='white')
frase=tk.Entry(ventana)
frase.pack(fill=tk.X,padx=5,pady=5,ipadx=5,ipady=5)
label = tk.Label(ventana, width=20)
label.pack()
dic = {'Hello':'Bonjour'}
def translate(phrase):
if phrase in dic.keys():
text = dic[phrase]
else:
text='Cannot translate text'
label.config(text=text)
root = tk.Button(ventana,text="Traducir:",bg="black",fg="white", command=lambda: translate(phrase=frase.get()))
root.pack(padx=20,pady=10)
ventana.mainloop()
对于翻译部分,您可以做的最好的事情是创建一个dictionary
. 这样,当有人在您的 EntryBox 中输入特定单词时,程序将能够翻译它:您可以这样做:
dic = {'Good Morning':'Bonjour', 'Yes':'Oui'}
def translate(phrase):
if phrase in dic.keys():
text = dic[phrase]
else:
text='Cannot translate text'
label.config(text=text)
最后但同样重要的是,通常最好mainloop()
在程序末尾添加一个调用,以便正确处理应用程序中发生的事件。在您的情况下,您应该添加ventana.mainloop()
推荐阅读
- c++ - 如何避免函数中的参数过多。C++
- azure - Azure AD B2C 自定义策略 + Application Insights
- asp.net - 使用 ASP.NET MVC 中的 Content 文件夹作为文件系统来存储 PDF 文件是一种好习惯吗?
- java - 我正在研究 Java 中的静态和实例变量,我无法理解代码的输出
- google-oauth - Google 身份验证端点重定向到 400 错误页面
- java - java Netbeans显示带参数的ireport文档但选择日期时出错,它说报告上没有文档
- php - 使用文件 guzzle laravel 上传数据
- docker - 在 Ubuntu 20.04 LTS(Vmware)上安装 docker 失败
- python - 如何将 Fairlearn 与自定义公平约束一起使用?
- javascript - 如何在本机反应中仅更改特定的子样式属性?