使用Python制作随机提问程序_第1页
使用Python制作随机提问程序_第2页
使用Python制作随机提问程序_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用Python制作随机提问程序随着新课改的进一步深化,笔者所在地区的中小学信息技术教材增加了Python程序设计语言章节,Python是一种面向对象的解释型计算机程序设计语言,能够把用其他语言制作的各种模块很轻松地联结在一起。Python语言简明,逻辑清晰,适合中小学阶段的学生学习。在常规情况下,使用Python编制好的程序代码是命令行界面执行方式;tkinter是Python中制作GUI界面的入门模块,语法简单,可以快速上手制作学习。这里,笔者利用tkinter模块制作一个简单的随机点名或者提问的小程序,在课堂上,教师可以使用该程序对本班级内的学生进行随机点名或提问,进而活跃课堂气氛。●功能分析可视化编程是一个系统工程,要遵循“功能—界面—代码”的基本设计顺序,核心的内容是数据的组织、变化与流转。随机点名小程序要实现的功能是,在不同的班级中,输入班级号然后点击按钮,随机显示出该班级中某一名学生的姓名,再次点击按钮,随机显示另一名学生的姓名。在本案例中,原始数据保存在文本文件中,通过open()函数读取到内存的变量列表中,再按照班级进行字典的键值对映射,获取的班级号作为字典的键,获取的班级名单作為字典中班级映射的值。“开始”按钮的功能就是从字典的值中随机取出一个学生姓名,在窗体上显示出来。因此,笔者计划使用两个模块,分别是tkinter和rendom,tkinter模块用于制作GUI窗体;random模块用来随机抽取列表中的元素。规划三个窗体控件,输入班级号,显示抽取的姓名和开始抽取的按钮。●引入模块Python可以通过引用或者调用模块,实现使用模块中的函数和功能。下面,简要介绍一下模块的调用方法(如下表)。在调用模块的方式中,笔者推荐使用第二种方式,调用模块并且使用别名和程序中的其他函数进行区分,这样程序代码看起来更清晰,易读性更强。调用模块的代码如图1所示。●制作窗体在tkinter模块中需要使用Tk()函数,生成GUI窗体并命名为ROOT。常见的窗体包含的部件有标题、边框等,且需要使用主消息循环模式设置窗体始终显示在屏幕。设置窗口的标题为“随机提问”,窗口的大小为300×200像素,窗口的边框不可调。包含的代码如下页图2所示。●添加控件在可视化的程序中,用于人机交互的部分通常称之为窗口或控件,在tkinter中具备基本的常用控件,用于制作可视化的小程序。根据程序的功能分析,笔者计划添加文本标签(Label)——分别用于在窗体上显示提示文字、随机抽取的结果,文本框(Entry)——用于输入班级号,按钮(Button)——用于开始随机抽取姓名,将其作为程序的主要输入输出功能部分。包含的代码如图3所示。控件添加完成,按F5键查看界面运行效果,如图4所示。●分析功能程序的核心部分是数据的组织、变化和流转,这里要制作的程序就是要读取文本文件中的数据,进行遍历转为列表,再把列表中的元素按照班级映射为字典,并从文本框中获取班级号,从字典中获取该班级号对应的列表,再随机抽取该列表中的某个元素,显示到文本标签上。功能分析:文本文件的内部格式如图5所示,班级和姓名使用一个制表符间隔,常用信息可以先从Excel复制到文本文件,接着在Python中使用open()函数打开文本文件,使用readlines将其全部读取为一个列表,并遍历该列表,替换其中每个元素尾部的回车符号,进而转换为子列表,读取其中的第一个元素增加到字典,第二个元素作为该键的值保存到字典中。流程图如图6所示,自定义函数代码如下页图7所示。需要注意的是,x.get()用于获取文本框中的数据,x.set()用于设置文本标签的值,x.choice()用于随机从列表中获取一个元素。●添加代码数据流分析过程为:首先用户在文本框中输入班级数据,点击“开始”按钮,根据接收到的数据,从字典中获取指定键映射的值,并从值中随机抽取一个元素,传递到文本标签并显示,此时文本框和文本标签中的文本要以变量的形式显示,“开始”按钮控件调用自定义函数实现以上功能。文本框代码如图8所示。文本标签代码如图9所示。开始按钮代码如图10所示。程序最终运行界面及效果如图11所示。总之,通过简单的随机点名小程序的制作,让学生体会到GUI界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论