分享一下我的Python实验报告以及经验(一)

  1. 计算器界面设计计算器是一种较为常用的小工具,简单的计算器有10个数字键、小数点、四则运算符、退格、删除、清零等按钮,还要有显示区以及等号按钮,按键较多,如何排列得既漂亮美观又方便实用,需要仔细进行设计。请利用本节介绍的布局方法,实现下图所示的计算器界面的布局。

 

from tkinter import *

root =Tk()   #创建主界面
root.title("计算器")
result=StringVar()
result.set(" ")
#显示区
label=Label(root,text="",width=25,height=2,relief="raised",anchor=SE,textvariable=result)  #textvariable变量绑定
label.grid(row=0, column=0,columnspan=4,padx=5,pady=5)
Button(root, text="C",width=5,fg="blue",command = lambda:result.set("")).grid(row=1, column=0)              #按键用button实现
Button(root, text="DEL",width=5,command=lambda: result.set(result.get()[:-1])).grid(row=1,column=1)
Button(root, text="BCK",width=5,command=lambda: result.set(result.get()[:-1])).grid(row=1,column=2)
Button(root, text="/",width=5,command = lambda: result.set(result.get()+"/")).grid(row=1,column=3)
Button(root, text="7",width=5,command = lambda: result.set(result.get()+"7")).grid(row=2, column=0)
Button(root, text="8",width=5,command = lambda: result.set(result.get()+"8")).grid(row=2, column=1)
Button(root, text="9",width=5,command = lambda: result.set(result.get()+"9")).grid(row=2, column=2)
Button(root, text="*",width=5,command = lambda: result.set(result.get()+"*")).grid(row=2, column=3)
Button(root, text="4",width=5,command = lambda: result.set(result.get()+"4")).grid(row=3, column=0)
Button(root, text="5",width=5,command = lambda: result.set(result.get()+"5")).grid(row=3, column=1)
Button(root, text="6",width=5,command = lambda: result.set(result.get()+"6")).grid(row=3, column=2)
Button(root, text="-",width=5,command = lambda: result.set(result.get()+"-")).grid(row=3, column=3)
Button(root, text="1",width=5,command = lambda: result.set(result.get()+"1")).grid(row=4, column=0)
Button(root, text="2",width=5,command = lambda: result.set(result.get()+"2")).grid(row=4, column=1)
Button(root, text="3",width=5,command = lambda: result.set(result.get()+"3")).grid(row=4, column=2)
Button(root, text="+",width=5,command = lambda: result.set(result.get()+"+")).grid(row=4, column=3)
Button(root, text="0",width=5,command = lambda: result.set(result.get()+"0")).grid(row=5, column=0)
Button(root, text=".",width=5,command = lambda: result.set(result.get()+".")).grid(row=5, column=1)
Button(root, text="=",width=12,command = lambda: result.set(result.get()+"="+str(eval(result.get())))).grid(row=5, column=2,columnspan=2)

root.mainloop()
#用eval进行运算

可能有部分AI的内容,但是这个程序是正确的。

这段代码实现了一个简单的计算器应用,使用Python的tkinter库创建图形用户界面。

主窗口包含一个显示区和多个按键,每个按键对应一个数字或运算符。

显示区通过StringVar变量result来动态更新显示内容。按键点击事件通过lambda函数绑定到相应的操作,例如添加字符、删除字符或计算结果。计算结果使用eval函数进行计算,并在显示区显示。

优化后的代码添加了错误处理,以防止无效输入导致程序崩溃。

整个界面布局使用grid方法进行排列,使各个控件整齐排列在窗口中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值