用python实现带界面的计算器 (Python经典编程案例)

编程入门 行业动态 更新时间:2024-10-09 09:17:37

用python实现带界面的<a href=https://www.elefans.com/category/jswz/34/1765079.html style=计算器 (Python经典编程案例)"/>

用python实现带界面的计算器 (Python经典编程案例)

用python实现带界面的计算器,代码如下:

"""
实现带界面的计算器(可做加减乘除操作)"""from tkinter import *
import tkinter.font
from functools import partialdef get_input(entry, argu):entry.insert(END, argu)def backspace(entry):input_len = len(entry.get())entry.delete(input_len - 1)def clear(entry):entry.delete(0, END)def calc(entry):input = entry.get()output = str(eval(input.strip()))clear(entry)entry.insert(END, output)def cal():root = Tk()root.title("Calc")root.resizable(0, 0)entry_font = tkinter.font.Font(size=12)entry = Entry(root, justify="right", font=entry_font)entry.grid(row=0, column=0, columnspan=4, sticky=N+W+S+E, padx=5,  pady=5)button_font = tkinter.font.Font(size=10, weight=tkinter.font.BOLD)button_bg = '#D5E0EE'button_active_bg = '#E5E35B'myButton = partial(Button, root, bg=button_bg, padx=10, pady=3, activebackground = button_active_bg)button7 = myButton(text='7', command=lambda: get_input(entry, '7'))button7.grid(row=1, column=0, pady=5)button8 = myButton(text='8', command=lambda: get_input(entry, '8'))button8.grid(row=1, column=1, pady=5)button9 = myButton(text='9', command=lambda: get_input(entry, '9'))button9.grid(row=1, column=2, pady=5)button10 = myButton(text='+', command=lambda: get_input(entry, '+'))button10.grid(row=1, column=3, pady=5)button4 = myButton(text='4', command=lambda: get_input(entry, '4'))button4.grid(row=2, column=0, pady=5)button5 = myButton(text='5', command=lambda: get_input(entry, '5'))button5.grid(row=2, column=1, pady=5)button6 = myButton(text='6', command=lambda: get_input(entry, '6'))button6.grid(row=2, column=2, pady=5)button11 = myButton(text='-', command=lambda: get_input(entry, '-'))button11.grid(row=2, column=3, pady=5)button1 = myButton(text='1', command=lambda: get_input(entry, '1'))button1.grid(row=3, column=0, pady=5)button2 = myButton(text='2', command=lambda: get_input(entry, '2'))button2.grid(row=3, column=1, pady=5)button3 = myButton(text='3', command=lambda: get_input(entry, '3'))button3.grid(row=3, column=2, pady=5)button12 = myButton(text='*', command=lambda: get_input(entry, '*'))button12.grid(row=3, column=3, pady=5)button0 = myButton(text='0', command=lambda: get_input(entry, '0'))button0.grid(row=4, column=0, columnspan=2, padx=3, pady=5, sticky=N+S+E+W)button13 = myButton(text='.', command=lambda: get_input(entry, '.'))button13.grid(row=4, column=2, pady=5)button14 = Button(root, text='/', bg=button_bg, padx=10, pady=3,command=lambda: get_input(entry, '/'))button14.grid(row=4, column=3, pady=5)button15 = Button(root, text='<-', bg=button_bg, padx=10, pady=3,command=lambda: backspace(entry), activebackground=button_active_bg)button15.grid(row=5, column=0, pady=5)button16 = Button(root, text='C', bg=button_bg, padx=10, pady=3,command=lambda : clear(entry), activebackground=button_active_bg)button16.grid(row=5, column=1, pady=5)button17 = Button(root, text='=', bg=button_bg, padx=10, pady=3,command=lambda: calc(entry), activebackground=button_active_bg)button17.grid(row=5, column=2, columnspan=2, padx=3, pady=5, sticky=N+S+E+W)root.mainloop()if __name__ == '__main__':cal()

执行结果如下图:

更多推荐

用python实现带界面的计算器 (Python经典编程案例)

本文发布于:2024-03-07 14:37:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1718087.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:计算器   界面   案例   经典   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!