【发布时间】:2026-01-05 17:25:02
【问题描述】:
我创建了一个 GUI 计算器(包括屏幕截图),当按下按钮时,它会将文本添加到 textctrl,以便向用户显示方程式。当用户按下回车键时,它会获取该文本并使用 eval 运行它,然后使用 SetValue 打印,但是如果我在 texctrl 中遇到问题,例如 5/6,它会显示为 0 我如何使它成为浮点数
def eenter(self,e):
a=self.box.GetValue()
answer=eval(a)
ans=str(answer)
self.box.SetValue(ans)
【问题讨论】:
-
在这种情况下,他为什么要小心
eval?它是一个桌面程序。任何能够输入__import__("shutil").rmtree("/")的人都可以打开一个命令提示符并在那里输入一个同样具有破坏性的命令。除非他正在为信息亭编写应用程序,但这似乎不太可能。
标签: python user-interface floating-point wxpython eval