当前课程知识点:Python 交互式程序设计导论 >  第2周 >  B 课程视频(输入框、全局变量) >  输入框

返回《Python 交互式程序设计导论》慕课在线视频课程列表

输入框在线视频

输入框

下一节:局部变量和全局变量

返回《Python 交互式程序设计导论》慕课在线视频列表

输入框课程教案、知识点、字幕

Hi,大家好,欢迎大家回到Python课堂。

在上次课中,我和大家一同构建了一个简单的计算器

实现了加法、减法、显示等功能。

说到这,有人会说,这不是计算器,

计算器应该允许我们输入数据才对。

是的,那么在这节课中,我们将解决这个问题。

我将教会大家如何使用输入框。

届时,大家会发现

我们创建的计算器和真实的计算器基本一致。

好,下面开始我们今天的课程。

我们已经给出来了一个计算器的模板。

在上节课的基础上,我们已经增加了乘法和除法。

我们先来运行一下。

我们可以看到,显示、交换、加法、

减法、乘法、除法,

这几个功能按钮都完成了,没问题。

那么这节课我们的任务是如何使用输入框来进行计算器的数据输入。

和我们的按钮有点类似,我们在这里增加一个按钮,

然后这里面有按钮的名称、按钮所执行的函数是什么。

我们的输入框和它的语法结构类似,

也是要有一个输入框的名称,输入框所使用的函数是什么。

增加输入框的语法我已经写在这里了,

就是注册输入框,frame.add_input。

注意:我们的button注册时frame.add_button,

如果是输入框就是frame.add_input。

这里是输入框的名称,我们输入,

注意是英文符号,"请输入数据"。

好,这个地方我们要执行的是,

当我们点击输入框时,

它得到的数据时哪个函数呢?

例如,我们写一个enter函数。

另一个参数,我们也给它一个100,

这是可选的。

为了整齐,注意:所有的地方都没有问题,

就在这里有一个问题。

是什么呢?我们给出的这个enter函数现在还没有定义,

所以它显示为红色。

好,我们来定义这个enter函数。

这个enter函数和我们前面定义过的button函数是有所区别的。

我们点enter之后,我们会得到一个数据,

这个数据是要想办法传到我们的store或者是operand里的,

所以这里我们会获得一个参数input。

我们想把获得的这个参数输入到operand里,

或者是store里。这时我们需要对operand和store这两个全局变量进行声明。

我们希望的是,operand等于input,我们来输出一下。

运行,看一看是不是我们想要的。

我们发现,除了按钮以外,我们多了一个输入框。请输入数据。

比如说,我们输20。大家看,operand就等于20。

这个时候,我们想输入后,store的值是不是也应该被输入?

这时候,我们利用交换的按钮。

这个按钮的作用是把operand的值传递给store。

当我再次输入数据的时候,

第二个输入数据的值就变成了operand的值,

即变成了操作数的值。

我们点一下交换,store就变成了20,operand变成了10。

为了看到更清楚,我们把这两个值都初始化为0。

我们再来运行一下。显示,两个数都是0。

我输入一个数17,敲一下回车键。

发现operand的值是17。

我们交换一下,store等于17,operand等于0。

我们再给operand一个值,3,然后敲回车,

然后我们发现获得数据原来是这么简单。

好,store的值也有了,operand的值也有了,

我们把它们相加一下。17加3,我们知道应该是20。

哦,这里出错了,17加3不是20,这里变成了173。

这里没有报语法错误,但是计算的结果有错误。

那我们再来看一下减法。

这时候我们发现报语法错误了。

我们来看一下错误提示。它说类型错误。

对于字符串,我们不能用减法去操作。

为什么我们刚才用加法没有报错。

因为我们知道字符串的加表示是把字符串连接起来。

17,它认为是一个字符串。3,也认为是一个字符串。

17和3连接起来就是173。

注意:这里我们有一个小提示。

注册输入框事件时,是一个text input,

即我们输入的是一个文本而不是数据。

怎么样把文本转换成数据,

前面的课程我们已经讲过。

很简单,就是把得到的文本,

我们用强制类型转换函数转换一下。

修改后,再次运行。看一看。

输入17,敲回车键,没有问题。

输入3,敲回车键,没有问题。

我们把这两个数加一下,发现没有交换。

交换后再加一下,20,没有问题。

减一下,20减17,结果是3,没有问题。

乘一下,3乘以17,结果是51,没有问题。

除一下,也没有问题。

我们再来输入数据。

因为我们的计算器除了接收整形数据外,

还可以接收浮点型数据。

又报错了!我们来看看这个错误。

int()函数不能对字符串2.7进行转换,

也就是说它在类型转换时出错了。

那既然不能用int()函数,我们就用float()函数。

再运行,输入13,敲回车。

交换一下,让被操作数是13,操作数是0。

输入操作数是7,加一下,没问题;

减一下,没问题;乘一下,没问题;

除一下,没问题。

我们输入一个小数,做加法,没问题;

减法,没问题;乘法,没问题;除法,没问题。

到此为止,我们的一个简单计算器就完成了。

希望通过这个例子,大家对按钮和输入框事件有所熟悉。

好,今天的课程就到这里,下次再见。

Python 交互式程序设计导论课程列表:

第0周

-课程简介

--课程简介

-A 课程视频(算数操作符及表达式)

--绪论

--Python交互式解释器使用方法

--PyCharm集成开发环境介绍

--算数操作符及表达式

-B 课程视频(变量及赋值)

--变量

--项目提交

--“我喜欢Python”热身小项目

-C 辅助视频(计算机结构、Python开发环境安装)

--Windows平台安装Python开发环境

--Mac平台安装Python开发环境

-D 辅助视频(如何提交项目)

--项目提交

-第0周--小测验

-本周项目:"我喜欢Python"

--项目发布、完成、提交及评分流程

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

--项目提交

第1周

-A 课程视频(函数)

--函数

--其它操作符

--随机函数

-B 课程视频(逻辑及表达式)

--逻辑值和比较

--条件

--编程技巧

--“老虎杠子鸡虫”游戏

-第1周--小测验

-本周项目:“老虎杠子鸡虫”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第2周

-A 课程视频(Python交互式应用)

--事件驱动编程

--事件可视化跟踪执行

--SimpleGUITk

--按钮

-B 课程视频(输入框、全局变量)

--输入框

--局部变量和全局变量

--编程技巧

--“猫咪藏在哪个房间”游戏

-第2周--小测验A

-第2周--小测验B

-本周项目:猫咪藏在哪个房间

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第3周

-A 课程视频(画布绘图)

--画布和图形绘制

--字符串处理

--绘图和计时器可视化跟踪执行

--图片和音效

-B 课程视频(计时器)

--计时器

--交互式绘图

--“神奇时钟”游戏

--编程技巧

-第3周--小测验A

-第3周--小测验B

-本周项目:“神奇时钟”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第4周

-A 课程视频(列表)

--列表

--键盘输入

--列表及变化可视化跟踪执行

--碰撞和反射

-B 课程视频(键盘控制)

--速度控制

--运动

--编程技巧

--“桌上冰球”游戏

-第4周--小测验A

-第4周--小测验B

-本周项目:“桌上冰球”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第5周

-A 课程视频(鼠标输入、列表进阶)

--鼠标输入

--Video

--Video

--Video

-B 课程视频(字典和图片)

--Video

--Video

--Video

--Video

-第5周--小测验A

-第5周--小测验B

-本周项目:“世界杯八强连连看”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第6周

-A 课程视频(类)

--面向对象编程(类和对象入门)

--面向对象编程(类和对象进阶)

--对象可视化跟踪执行

--华容道中的类

-B 课程视频(平铺图片)

--平铺图片

--理解对象

--编程技巧

--“华容道”游戏

-第6周--小测验A

-第6周--小测验B

-本周项目:“华容道”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第7周

-A 课程视频(类进阶及文件操作)

--集合

--文件操作

--文字块类

--处理停止的文字块

-B 课程视频(游戏状态控制)

--游戏记分规则

--游戏结束的条件及处理

--编程技巧

--“决战三字经”游戏

-第7周--小测验A

-第7周--小测验B

-本周项目:决战三字经

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

第8周

-A、课程视屏(精灵集合)

--Video

--精灵类

--战士类

--编程技巧

-B、课程视屏(动画)

--精灵碰撞

--精灵动画

--编程技巧

--保卫家园游戏

-第8周--小测验

-本周项目:守卫家园

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

输入框笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。