PySimpleGUI 计算器
import PySimpleGUI as sg def button(text): return sg.Button(text, pad=(2, 2), size=(4, 2), font=('黑体', 18), button_color='blue') layout = [ # 定义布局,确定行数 [sg.Text('', key='-show-')], [sg.InputText('', size=(12, 2), font=('黑体', 28), key='-input-')], [button(i) for i in ['AC', '(', ')', '%']], [button(i) for i in ['1', '2', '3', '+']], [button(i) for i in ['4', '5', '6', '-']], [button(i) for i in ['7', '8', '9', '*']], [button(i) for i in ['0', '.', '=', '/']] ] window = sg.Window('计算器', layout) # 创建窗口 while True: # 事件循环 event, values = window.read() # 读取窗口,返回事件和值 print(event, values) if event is None: # 窗口关闭,程序中止运行 break if event in list('1234567890+-().'): window['-input-'].update(values['-input-'] + event) if event == '*': window['-input-'].update(values['-input-'] + '*') if event == '/': window['-input-'].update(values['-input-'] + '/') if event == '%': try: window['-input-'].update(eval(values['-input-'] + '/100')) # eval:接收运行一个字符串表达式,返回表达式的结果值。 except: window['-input-'].update('') window['-show-'].update('ERROR') if event == '=': try: window['-input-'].update(eval(values['-input-'])) except: window['-input-'].update('') window['-show-'].update('ERROR') window['-input-'].update('') if event == 'AC': window['-input-'].update('') window['-show-'].update('') window.close() # 窗口关闭
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理