资源简介 (共45张PPT)3.3数据与系统121%0即将进入寒假,李华和家人们正在计划一场旅行,他利用学习的Python设计语言设计“旅行小助手系统”,以此来管理自已旅行中的线路选择问题。如何在页面上添加一个“查询线路”的按钮?活动1 初看旅行线路from tkinter import* #导入tkinter模块root=Tk() #创建一个窗口root.title("旅行线路") #设置窗口标题root.geometry( '300x120’) #设置窗口大小root.resizable(0,0) #禁止调整窗口大小Button(root,text="添加线路",relief="solid",width=10,height=2).pack()#在窗口上建一个“添加线路”按钮Button(root,text="查询线路",relief="solid",width=10,height=2).pack()#在窗口上建一个“查询线路”按钮活动1 初看旅行线路在Python 语言中,tkinter是实现图形用户界面的模块,可以快速创建GUI应用程序。模块介绍:图形用户界面(简称GUI)又称图形用户接口,是指采用图形方式显示的计算机操作用户界面矩形容器Frame框架一、图形用户界面pythontkinter在中,用创 建图形用户界面文本框Entry文本标签Label(显示文本、位图)按钮ButtonLabel(root, text=“请输入线路”, font=('Arial', 10)). pack() #在窗门上建一个文本标签Entry(root,textvariable=var,width=550).pack() #在窗门上建一个文本框Button(root, text="添加线路”, command=intomap,relief="solid", width=10).pack() #在窗口上建一个Button按钮root.mainloop() #进入事件(消息)循环矩形容器一、图形用户界面文本标签文本框按钮实现添加路线——创建标签、输入框、按钮等组件李华发现一条新的旅行线路,希望把它添加到系统中,线路情况如下:桂林,5日游,桂林市区—龙脊梯田—漓江漂流—骑行之旅—遇龙河漂流,人均1200元运行“添加线路与查询线路.py”并把新的旅行线路添加到文件中。完成后,打开“旅行线路.txt”,查看是否添加成功。对照程序想一想数据存储需要通过哪些代码来实现?活动2 更新旅行线路实现添加路线——设置画布大小及定义按钮触发函数Python代码:from tkinter import *root = Tk()root. title(“添加线路” )root.geometry('600x100’)root.resizable(0,0)var=StringVar()def intomap():c=open(“旅行线路.txt",'a+’)#在txt文件未尾添加text里的内容 c.write(var.get()+"\n")c.close#创建一个窗口#设置窗口标题#设置窗口大小#禁止调整窗口大小#定义StringVar()类型#Button按钮激发函数#以追加模式打开文件#关闭文件活动2 更新旅行线路open函数打开write函数写入close函数关闭在Python语言中,用open函数把外存储器里的文本文件(.txt)打开, 用write方法将内存中的数据存储到外存储器的文件中, 文件操作结束时一定要用close方法关闭文件。外存储器中的文件打开内存中的数据写入关闭二、Python读写文本文件在解决问题的过程中,我们可以根据需要将数据组织在一起形成队列、树或图等逻辑结构,这时的数据一般存储在内存中,当退出程序时,相关数据也将丢失。如果需要更持久地存储数据,我们可以将数据以文件的形式存储到外存储设备中。在活动2中,“线路数据”是用文件的形式存储在计算机的磁盘里的。二、文件辅助存储器(外存):硬盘、u盘,光盘,移动硬盘等通常是磁性介质或光盘等,能长期保存信息主存储器 (内存)★ 用open()函数把外存储器里的文本文件(.txt)打开。★ 用write方法将内存中的数据存储到外存储器的文件中。传入文件名和标示符:f = open('/Users/michael/test.txt', 'r') #标示符‘r’表示读通过例子具体示例一下write( )函数的使用。write( )函数的参数是一个字符串,分以下2种情况:1. 通过write()函数向文件中写入一行>>> f=open(r“C:\Users\Administrator\Desktop\test.txt”,‘w’)>>> f.write(‘hello,world!\n’)#写入的字符串仅仅在末尾包含一个换行符。>>> f.close()2. 通过write()函数向文件中写入多行>>> f=open(r“C:\Users\Administrator\Desktop\test.txt”,‘w’)>>> f.write(‘hello python!\nhello world!\n’)#写入的字符串包含多个换行符,可以达到写入多行的效果>>> f.close()二、文件与Python读写文本文件★ 文件操作结束时,一定要用close方法关闭。调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的。实践活动:用IDLE打开.py文件教师下发半成品,根据要求完成以下任务1.修改界面,界面我设计2.学习并模仿“添加线路”按钮代码,添加 “查询线路”按钮。任务一:探究旅行线路教师下发半成品,根据要求完成以下任务1、补充程序,运行。2、在文本框中输入线路,数据保存在旅行线路.txt文件中。任务二:编程实现“添加线路”功能任务实践活动李华计划从厦门出发,以武汉作为中转城市,到成都旅游。活动2 查找车次李华登陆了12306网站查询到了厦门至武汉部分车次信息、武汉至成都部分车次信息。用表格整理数据需要多个页面回来切换,输入大量数据,不够简便,李华尝试用数据库管理软件Access管理数据活动2 查找车次数据库是以一定的组织方式存储在计算机中的相互关联的数据集合。数据库管理系统是定义、创建、维护数据库的工具。允许用户管理和控制数据库中的数据。常见的数据库管理系统有Sybase、ORACLE、MySQL、Access等数据库应用系统:例如以数据库为基础的财务管理系统、人事管理系统、图书管理系统等三、数据库系统常见的数据库管理系统常见的数据库应用系统字段字段名记录主键认识数据表横记竖字文本型:用于输入文本或文本与数字相结合的数据,在Access中,每一个汉字和所有特殊字符(包括中文标点符号)都算作一个字符数字型:用于可以进行数值计算的数据,但货币除外日期/时间型:用于存储日期和(或)时间值是/否型:用于表示逻辑值(是/否,真/假)货币型:用来存储货币值字段类型动手试一试1. 启动Access软件,新建空白数据库文件2. 创建表结构,参照下表依次创建7个字段3. 尝试输入2条记录字段名称 字段类型 范围车次编号 文本 字段大小:10出发站 文本 字段大小:10到达站 文本 字段大小:20出发时间 日期/时间 格式:短时间到达时间 日期/时间 格式:短时间历时 数字 字段大小:整型最低票价 货币 格式:货币建立数据库——用Access软件为火车换乘数据建立数据库打开“厦门至成都.mdb”数据库文件。将 “厦门至武汉车次“ 和 “武汉至成都车次“ 这两个表的 数据补充完整。动手试一试数据表在数据库中,数据是以二维表的形式组织存储的,称为表。如下图所示的“武汉至成都车次” 表为例,表中的一列称为一个字段,一个字段对应车次实体的一个属性,每个字段都有一个名字,称为字段名,如车次编号、出发站等。表中的一行称为一条记录,一条记录对应于一个车次实体,保存有关实体属性的数据。表的名称字段名,本表中有8个字段每行称为记录,本表中有4条记录数据库是存在于外存中的文件,表存在于数据库中,数据库中可以包含多个表。我们可以对数据表进行插入、删除、更新等操作。数据库管理系统在数据库技术中,数据是如何被科学地组织和存储的?又是如何被高效地获取和维护的?完成这些任务的是一个系统软件——数据库管理系统。数据库管理系统是定义、创建、维护数据库的一种工具。它允许用户管理和控制数据库中的数据。常见的数据库管理系统有:建立了数据库之后,为了能更方便地查询到换乘方案,可尝试在Access中建立表之间的“ 关系”,利用“ 关系”解决问题。活动1 查询换乘方案在查找换乘方案时,厦门至武汉车次表中的字段“到达站”与“武汉至成都车次”表中的“出发站”是有对应关系的。出发站出发站到达站 / 出发站两表建立“关系”:1.菜单栏点击“设计”2.点击编辑“关系”3.编辑关系窗口点击“新建”4.新建窗口,左表选择“厦门至武汉车次”,右表选择“武汉至成都车次”;左列选择到达站,右列选择出发站,并点击确定。在Access中设置查询条件,解决个性化需求的问题。在查找换乘方案时,可以在“查询设计器”窗口的”条件”栏中设置查询的准则。活动2 满足个性化需求1.菜单栏点击创建;2.点击“查询设计”1.显示表窗口中选中“武汉至成都车次”和“厦门至武汉车次”两个表,并点击下方的“添加”按钮;2.添加完成后,点击“关闭”按钮关闭显示表窗口;1.在下方窗口中,第一列字段选择“厦门至武汉车次*”,表选择“厦门至武汉车次”,选中显示条件;2.在下方窗口中,第二列字段选择“武汉至成都车次*”,表选择“武汉至成都车次”,选中显示条件;3.按“ctrl+s”保存双击“查询1”,即可看到查询结果(一个新的表),共有6条记录。可以看出,查询结果正是两表中的数据通过关系(厦门至武汉车次,到达站=武汉至成都车次.出发站)进行关联的结果。该结果存大的问题:1.时间上不合理,没有考虑换乘时间的合理性。例如:从厦门北到达武汉的时间是14:53,而从武汉前往成都东的出发时间是11:32,时间错位。2.中转地点不合理。表“厦门至武汉车次”与表“武汉至成都车次”中录入的都是以武汉(含汉口、武昌、武汉三个车站)为中转站的车次数据,武汉三站之间地铁换乘,也仅需半小时,因此,以“厦门至武汉车次.到达站=武汉至成都车次.出发站为关系建立的查询是不可取的,它将许多可能合理的换乘方案排除了,如坐D2232从厦门北到武汉站,然后坐武汉市内地铁到武昌站,再换乘T246次从武昌到成都东,这条可行方案被排除在外了。关系就像绳子将两个“表”联结在一起,我们可以利用“查询”面板中的“查询设计” 选项按照提示创建选择查询, 得到查询结果。但查询结果并不一定理想, 比如没有考虑换乘时间的合理性等。武汉三个火车站之间利用地铁换乘, 大约用时半小时。为此, 修改查询表达式为:SELECT厦门至武汉车次.*,武汉至成都车次.*FROM 厦门至武汉车次 INNER JOIN 武汉至成都车次ON 厦门至武汉车次.到达时间+0.05<武汉至成都车次.出发时间创建查询——利用“关系”修改查询表达式为:SELECT厦门至武汉车次.*,武汉至成都车次.*FROM 厦门至武汉车次 INNER JOIN 武汉至成都车次ON 厦门至武汉车次.到达时间+0.05<武汉至成都车次.出发时间修改为查询结果查询准则如果只是简单地查找某个字段为特定值的记录, 只要在该字段对应的“条件” 栏中输入该值即可;如果不仅是查找某个特定值, 在准则中可以使用表达式。在表达式中可通过操作符设置查询范围。某同学想乘坐7: 00~8: 00 的高铁或动车出行。为此, 需在查询表达式中追加条件:WHERE(厦门至武汉车次.车次编号 LIKE “G%” OR厦门至武汉车次.车次编号 LIKE “D*”) AND(厦门至武汉车次.出发时间 BETWEEN #7:00# AND #8: 00#);数据库的建立、使用和维护等工作仅靠数据库管理系统还远远不够, 还要有专门的人员来完成, 这些人被称为数据库管理员。数据库管理员通过数据库管理系统可以对数据库进行操作和维护。数据库系统数据库系统是由数据库、数据库管理系统(及其应用开发工具)、数据库应用系统、数据库管理员和用户组成的存储、管理、处理和维护数据的系统。数据库主要用于存储数据, 需要足够大的内存储器和外存储器等硬件平台的支持。软件部分除了操作系统和数据库管理系统外,还包括支持特定应用环境开发的软件工具以及开发完成的数据库应用系统。12306 网站是一个大型数据库应用系统, 其他如各类财务管理系统、人事管理系统、图书管理系统等软件也都是数据库应用系统。认识数据表武汉既是前段车程的到达站,又是下段车程的出发站认识数据表书P71页任务三的活动1“查询换乘方案”,尝试在Access中建立表之间的“关系”。查找换乘方案时,“厦门至武汉车次”表中的字段“到达站”与“武汉至成都车次”表中的“出发站”是有对应关系的。打开“厦门至成都.mdb”文件,利用“关系”菜单创建如教科书中的图3.3.5所示的表间关系。建立表间关系①创建表间关系:“厦门至武汉车次”表中的“到达站”与“武汉至成都车次”表中的“出发站”建立关联②从两个表中选取要显示的字段:厦门至武汉车次.*武汉至成都车次.*③关闭查询并保存为“查询1”④双击打开(运行)“查询1”,观察查询结果。数据表关系就像绳子将两个“表”联结在一起,我们可以利用“查询”面板中的“查询设计”选项按照提示创建选择查询。双击 ,弹出对话框。选中2个表,单击“添加”按钮,再单击“关闭”按钮。认识数据表再分别选中2个表的全部字段,保存为“查询1”。( 点击上面的运行“!”)双击“查询1”,即可看到查询结果(一个新的表),共有44条记录。可以看出,查询结果正是两表中的数据通过关系(厦门至武汉车次.到达站=武汉至成都车次.出发站)进行关联的结果。查询准则SELECT 厦门至武汉车次.*, 武汉至成都车次.*FROM 厦门至武汉车次 INNER JOIN 武汉至成都车次 ON 厦门至武汉车次.到达站=武汉至成都车次.出发站;条件修改查询刚刚的查询比如没有考虑换乘时间,武汉三个火车站之间利用地铁换乘,大约需要半个小时。为此,修改查询表达式为:式中的0.05的单位是天,即0.05*24小时=1.2小时,预留了武汉三站之间的换乘时间及在火车站的出站、进站时间。SELECT 厦门至武汉车次.*, 武汉至成都车次.*FROM 厦门至武汉车次 INNER JOIN 武汉至成都车次 ON 厦门至武汉车次.到达时间+0.05<武汉至成都车次.出发时间;条件FROM Table1 INNER JOIN Table2 ON (A) AND (B);多个条件可用AND连接通过“条件”查询表达式:And、or、between...and... 、 like查询准则设计存储个人信息的程序,实现如下功能:1.将学生姓名、性别、班级、职务等基本信息存储在外存储器中的“个人信息.txt”文件里。Label标签Entry文本框Button按钮按钮触发函数:def file_write():file = open("个人信息.txt",'a+’)file.write(name.get()+","+gander.get()+","+classes.get()+","+job.get()+"\n")file.close()练一练检测检测数据库数据库管理系统数据库应用系统数据库管理员和用户组成的存储等系统数据库系统四、数据库系统1. 建立与数据库的连接2.根据需要产生记录集3.访问记录集,处理数据4.根据需要把处理好的数据更新到数据库中5.断开与数据库的连接利用python访问数据库的步骤★图形用户界面★文件★数据库系统★查询准则课堂小结采用图形方式显示的计算机操作用户界面长期保存数据数据库、数据库管理系统、数据库应用系统、数据库管理员、用户121%0拜拜! 展开更多...... 收起↑ 资源预览