《大学计算机基础》(常规班)实验指导书实验7  Python绘图和GUI程序设计
1. 实验目的
(1)理解掌握GUI程序设计的基本思想和方法。
(2)学会使用Python tkinter标准图形库。
(3)学会使用Matplotlib 进行简单的数据分析和数据可视化展示。
2. 实验任务
实验任务7-1  柱形图绘制
我们知道,展示、分析数据的时候,往往图表比表格更能体现数据的特点、走势。请查阅你所在的省(市)近四年的理科一本、二本、三本的分数线,用Python的Matplotlib图形库绘制柱形图,展示你查到的数据,样例如图1所示。
图1. 陕西省近四年(至2014)理科本科分数线统计图
实验目的:
掌握matplotlib的基本用法;对数据分析和数据的可视化展示有一个较为直观的认识。
实验指导:
关于pyplot的用法,请参考文档:/api/pyplot_summary.html。参考代码:
#7-1.py
import numpy as np
import matplotlib.pyplot as plt
def main():
N = 4
ind = np.arange(N)  # 获得 x 轴的坐标序列
width = 0.2      # the width of the bars
fig, ax = plt.subplots() # 得到图表
rects = []
grade = ((540, 517, 485, 503), (488, 461, 435, 452), (368, 331, 330, 342))
# 分别构造单个序列的数据对应的图形,并设置颜
rects.append(ax.bar(ind + width * 1, grade[0], width, color = 'red')) __________________________________________________________________
__________________________________________________________________
______________________________________ # 设置坐标轴标题
______________________________________
ax.___________________________________ # 绘制图形(柱状图和图例)
def autolabel(rects):                  # 定义函数,在每一个序列的柱形
图上显示数值
# attach some text labels
for rect in rects:
height = _____________________ # 获得每一列的高度值
<_______________________ # 显示数值,并设定其显示位置
for i  in range(0, 3):
__________________________________ # 调用函数,给每一列显示数值
plt.show()                            # 显示图形
实验任务7-2  用户登录界面
我们平时使用的软件,很多需要先登录再使用(例如QQ)。请设计一个GUI 程序,模拟登录过程。要求:用户可以输入用户名和密码(Entry),然后点击登录按钮(Button),在登录按钮的响应事件中判断用户名是否是admin,密码是否是123456,如果正确,则提示“登录成功”,否则提示“用户名密码
不匹配”。界面运行效果如图2所示。
图2. 登录界面示意图
实验目的:
学会Label、Button、Entry的使用和基本布局;
掌握按钮事件响应的方法。
实验指导:
(1)创建主窗口;
(2)向窗口上添加Label、Entry和Button控件,调整布局;
(3)添加按钮响应函数,完成用户名和密码的校验。
参考代码:
#7-2.py
import tkinter
ssagebox
top = tkinter.Tk() #创建主窗体
def login(): #登录按钮事件响应函数
if (_________________________):
else:
____________________________________
def cancel():
top.destroy()
label1 = tkinter.Label(top,text="UserName:")#创建UserName label
label2 = _________________________#创建Password Label
UserRntry = tkinter.Entry(top)#创建Entry UserName
___________________________#设置布局
PasswdRntry = _______________#创建Password Entry
PasswdRntry['show'] = '*'#设置Password Entry的显示风格
button1 = tkinter.Button(top ,text='login',command=________)#创建button,并设置响应id(______________)
button2 = _____________________#创建button,用于Cancel
top.mainloop()
实验任务7-3  计算器(文科生选做)
关于python的书请使用Python标准库中的tkinter模块编写一个简单的图形化计算器。并尝
试通过点击按钮输入算式和运算符,点击“=”号按钮后,测试你编写的计算器是否能够计算出正确的结果。你可以直接使用给出的calcu(equation) 函数来计算你输入的算式的值,你仅仅需要编写函数实验一个图形化界面即可。
关于tkinter包中的函数的详细用法,请查阅Python documentation 中的相关的内容. /3/library/tk.html。
实验目的:
学会图形程序设计的基本方法;
掌握tkinter标准图形库的基本用法。。
实验指导:
(4)创建主窗口;
(5)向窗口上添加表达式输入框中(Text);
(6)向窗口上添加数字和运算符输入按钮(Button),当你点击这些按钮式,应该调用input_char(experssionview, char)函数将对应的数字或运算符追加到
表达式输入框中。
(7)当点击”=”按钮是,请调用给出的calcu()函数进行计算,同时将得到的结构显示在表达式输入框的等号后边。
参考代码:
# 7-3.py
from tkinter import *
def main():
root = _______________________________ # 创建GUI主程序
calculator = _________________________ # 创建主窗口
calculator.pack(fill=BOTH, expand = 1)
addWidgets(calculator)                # 调用函数,向窗口上添加功能按钮,以输入数字和运算符
root.title('Calculator')
root.wm_resizable(width = False, height = False) # 禁用窗口缩放
root.mainloop()

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。