# 20194115 2019-2020-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 1941
姓名: 刘奕辉
学号:20194115
实验教师:王志强
实验日期:2020年4月22日
必修/选修: 公选课
## 1.实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
## 2. 实验过程及结果
以下是成型的计算器
在计算器中进行计算操作
单击等于号输出结果
清字作为计算器清空所用
附代码
from tkinter import *
reset=True
def buttonCallBack(event):
global label
global reset
num=event.widget['text']
if num=='清': #此处清为清零
label['text']="0"
return
if num in "=":
label['text']=str(eval(label['text']))
reset=True
return
s=label['text']
if s=='0' or reset==True:
s=""
reset=False
label['text']=s+num
#主窗口
root=Tk()
root.wm_title("计算器")
#显示栏1
label=Label(root,text="0",background="white",anchor="e")
label['width']=35
label['height']=2
label.grid(row=1,columnspan=4,sticky=W)
#按钮
showText="789/456*123-0.清+"
for i in range(4):
for j in range(4):
b=Button(root,text=showText[i*4+j],width=7)
b.grid(row=i+2,column=j)
b.bind("<Button-1>",buttonCallBack)
showText="()"
for i in range(2):
b=Button(root,text=showText[i],width=7)
b.grid(row=6,column=2+i)
b.bind("<Button-1>",buttonCallBack)
b=Button(root,text="=")
b.grid(row=6,columnspan=2,sticky="we")
b.bind("<Button-1>",buttonCallBack)
root.mainloop()
## 3. 实验过程中遇到的问题和解决过程
- 问题1:小括号不能按照正常顺序进行计算
- 问题1解决方案:在最后对小括号计算程序进行说明
## 其他(感悟、思考等)
有些东西需要慢慢去理解这真的急不来啊啊啊啊啊啊啊啊啊
## 参考资料
《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm
《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htm
Python脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm
用Python 40行代码编写的计算器 https://www.linuxidc.com/Linux/2015-01/111317.htm
在Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htm
Python 语言的发展简史 http://www.linuxidc.com/Linux/2014-09/107206.htm