使用Python制作随机提问程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

使用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界面的程序更方便用户使用,而理解隐藏在控件背后的数据流转和函数调用才是实现程序功能的核心。在此基础上,让学生进一步体会数据在程序中的组织和流转过程,从而使其对程序的制作和使用有更深的理解。

文档评论(0)

fdfdsos + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7100020006000001

1亿VIP精品文档

相关文档