好, 那 在 我 们 上 面 的 视 频 中 呢, 我 们 给 大 家 讲 了 一 个 简 单 的 一 个 小 项 目,
叫 做 抽 奖 器, 对 吧? 那 接 下 来 呢, 我 们 还 是 利 用 WS Python 这 个 库 呢,
我 们 来 制 作 一 个 简 单 的 一 个 计 算 器 啊, 我 们 计 算 器 的 一 个 界 面 呢,
最 后 就 是 长 成 这 个 样 子 的 哈, 有 一 个 呃 这 样 子,
然 后 呢 有 各 种 我 们 的 功 能 对 吧? 然 后 中 间 呢 是 这 几 个 数 字 是 吧, 哎,
跟 我 们 呃, 手 机 上 啊, 或 者 说 你 电 脑 上 啊,
那 个 基 本 的 计 算 器, 哎, 基 本 上 是 有 一 个 呃,
相 似 的 这 个 界 面 以 及 功 能, 然 后 去 计 算。 一个加减乘除都是没有问题的。
好吧,我们做一个这样子的一个小项目哈,那我们首先还是第一步,我们需要去,
好吧 (hǎoba) – alright/okay
做 (zuò) – do/make
这样子 (zhèyàngzi) – like this
项目 (xiàngmù) – project
哈 (hā) – expression similar to “okay?”
那 (nà) – then
首先 (shǒuxiān) – first
还是 (háishi) – still
第一步 (dì yī bù) – first step
嗯,把这个界面给它制作出来,然后我们再去写里面的功能,对吧?那我们首先还是新建一个Python文件啊,叫做code,12-4啊,哎,名字叫做计算器啊,计算器好吧。 那首先第一步哈我们先把这个库导进来,对吧?库导进来,我们就可以创建APP了,那我们这里可以用这个程序入口的这种方式哈,先写一个这个哈衣服刚刚name等于刚刚main啊,然后_哎,然后我们可以先来打印一下啊,打印个111哎,然后我们运行一下,发现没有问题对吧啊。然后我们在这里首先第一步是要创建我们的,呃这个应用程序。 对象对吧?哎,先把这个对象创建出来,这个注意对象我们给它命名叫做APP对吧?使用的是我们WX这个库里的有个叫做APP,这个命令来给它创建出来就可以了。创建完了以后,接下来我们应该是啊,有一个就是让它。
一 直 显 示 一 直 显 示 的 这 样 子 一 个 命 令 对 吧? 叫 APP 点 main loop,
一直 (yīzhí) – continuously
显示 (xiǎnshì) – display/show
这样子 (zhèyàngzi) – like this
命令 (mìnglìng) – command
对吧 (duì ba) – right?
叫 (jiào) – called
点 (diǎn) – point/dot
对 不 对? main loop 就 可 以 了 哈, 这 个 是 一 个 最 基 础 的, 那 我 们 中 间 呢,
对不对 (duì bú duì) – right or not?
就 (jiù) – just
可以了 (kěyǐle) – can/OK
哈 (hā) – okay?
最 (zuì) – most
基础 (jīchǔ) – basic/fundamental
那 (nà) – then
中间 (zhōngjiān) – middle/between
呢 (ne) – question particle
要 去 创 建, 或 者 说 要 去 设 计 我 们 的 这 个 应 用 程 序 的 啊, 对 吧?
要 (yào) – need to
去 (qù) – to go
创建 (chuàngjiàn) – create
或者说 (huòzhě shuō) – or rather
设计 (shèjì) – design
应用程序 (yìngyòng chéngxù) – application/program
然 后 整 个 的 界 面, 哎, 那 我 们 这 里 可 以 给 它 起 名 叫 做 FRM 啊, 这 个 变 量 啊,
它 等 于 呢 一 一 会 儿 我 们 去 自 己 建 一 个 我 们 的 my frame, 对 不 对? 哎, 创 建 一 个 我 们 自 己 的 一 个 窗 体 结 构 哈, 这 个 叫 做。 创 建 这 个 窗 口 对 吧? 创 建 这 个 窗 口 啊。 然 后 创 建 完 窗 口 以 后 要 显 示 窗 口 对 吧? 显 示 窗 口 那 就 是 F2m 点 show 对 吧? 大 写 的 SHOW 啊。 好 吧, 这 个 呢 就 是 我 们 首 先 先 把 这 个 呃 必 要 要 写 的 先 把 它 给 写 在 这 里, 接 下 来 我 们 就 可 以 在 这 个 地 方 我 们 去 定 义 这 个 类 了, 对 吧? class 啊 my frame 对 不 对? 先 定 义 这 个 类 啊, 然 后 这 个 类 它 的 父 类 是 什 么 呢? 肯定是我们WX点frame啊,这个是它的父类对吧?嗯,我们是基于这个类去给它进行封装的嘛。那我们接下来首先要写的是我们的呃,构造函数构造方法,或者说称作我们的初始化方法对吧?然后我们在这里啊,先把这个杠杠init给它定义出来对吧啊,定义这个杠杠init,然后我们里面调用的,是啊,这个,也就是说它父类的。 杠 杠 in it 我 们 先 给 它 调 用 一 下 对 吧? 然 后 self, 然 后 它 的 副 啊, 它 的 这 个 副 窗 口, 或 者 说 它 的 它 依 赖 于 底 层 的 这 个 窗 口 是 none 对 吧? 然 后 title 啊, 我 们 给 它 设 置 一 下 叫 做 是 什 么? 哎,一个简单计算器对吧?简单计算器啊,然后我们可以给它设置一下它的POS等于,也就是说它显示的位置哈,一百一百嗯,然后它的大小size啊,这个应该是会大一点对吧?我们设个呃就先四百五百吧,五百八百啊看一下好吧,然后简单就这样子去给它定义一下,那我们先来运行一下,看一下现在的一个效果啊。 好,我们运行出来就是这样子的啊,还是挺长的一个哈。如果底下一会儿太长的话,我们一会儿再给它截掉,我们先现在就先这么编辑它没有问题对吧啊。然后呢,看一下这个标题栏,这里写的简单计算器,然后中间是个空白的,对不对,什么都没有的啊。然后接下来我们就是首先这个呃,frame这个窗口已经创建好了啊,这个是创建窗口用的,我们是调用的这个frame,它本身的这个init这个函数啊,然后接下来我们应该再去创建我们。 的这个呃面板了对不对啊,我们的PL对吧?哎,PL等于我们WX,它里面有一个panel,对吧啊,这个函数啊,然后我们去给它,呃,要要怎么写呢?来这个地方,首先这个嗯给他写个self,对吧啊,我们给他都定义成他们自己实例本身的啊,这个属性。 然后这个里面参数填的首先就是填一个self,对吧?我的这个面板是要创建在这个frame里面的嘛啊,所以这个第第一个参数啊,要写一个self,然后接下来其实就是设置它的一些,呃,比如说大小还有位置了对不对啊,比如说我这里写零零啊,然后size给它写上一个,比如说还是我们跟我们上一个一样吧,五百八百对吧啊。 这个呢,就是创建了我们的这个面板啊,然后面板创建完了,接下来就是应该创建一堆的按钮,还有一个呃输入框对不对?哎,我输入框在最上面嘛,我们先把这个输入框给它写一下啊。 哎, 也 就 是 说 我 们 显 示 那 些 算 数 的 算 式 的 那 些 地 方, 对 吧 啊, 所 以 我 们 首 先 先 来 呃, 创 建 一 个 文 本 框 啊, 创 建 了 一 个 文 本 框, 我 们 这 里 呢 用 的 是 self 点 儿, 我 们 给 它 设 计 成 叫 做 intry 啊, intry, 哎, 就 是 intry 就 是 输 入 的 输 入 框 的 一 个 意 思 啊, WX 点 儿, 然 后 它 有 一 个 text control 啊, 好 吧。 我们用的是这个啊,用这个用这个组件,哎,来给它去创建一下啊。那首先还是啊,这个东西要创建在哪儿啊?PL上嘛,我要先写一个PL,然后还是它的一个位置啊,比如说我这里写一个呃,这里应该是self.pl啊self.pl啊,然后位置比如说我稍微左边给它空一点格对吧,然后写一个十零啊,左面,也就是说我的这个离离左边的那个边界空一个十个,然后这个像素的这个位置。 什么啊,然后上面也可以空十个啊,然后就这么写好吧。然后size呢,是给它设一下它的大小啊,它的大小,然后长的话我们可以让它呃去长一点嘛,因为前面都是五百嘛对吧,我们可以这儿给它写成四百啊,稍微中间一点啊。然后呢这个是高度啊,高度,我们比如说给它设成五十对吧,应该就够了啊。然后呢还有就是style,哎,我们前面有个讲过,可以设置一下style啊。 嗯,因为我们让它文本这个一般我们计算器不都是右对齐吗?对不对?所以我们可以用一下WX点,然后TE,哎,我们找一下杠write,好吧,杠write,哎,你自己找也行,然后自己输也行,好吧啊,杠write,我们找它按回车,好吧啊,然后这个就是文本框也创建好了,那我们点一下运行,来看一下当前的这个效果啊。 好看一下,当前这里就是有一个这样子的文本框了,对吧?文本框啊,已经给它设置好了,那底下接下来就是啊,一堆按钮了对不对?我们设计的那堆按钮啊,然后有加减乘除啊,然后有一些清空啊,然后还有等于号啊对吧,然后还有数字都是必须的对不对,所以我们就一个一个的去给大家去创建啊。好,那我们就接下来接着写。 接下来就都是按钮的一个创建了啊,叫做创建按钮。哎,那我首先就是self点啊,然后btn对吧?btn代表的是这个按钮嘛,然后后面有一堆的对不对,然后比如说12345678910啊,然后比如说我先建一下这个数字一对吧,数字一这个按钮啊,然后等于WX点button对吧,我们用button这个命令啊,然后去给它创建哎button哈。 然后首先先填的是这个东西创建在哪儿呢?我们给它创建在这个PL里面对不对?所以就是self点儿,嗯,然后PL,对吧?嗯。 好跟上面写的是一致啊。self.pl。然后接下来就是去控制一下它的,呃,按钮的话,它是有一个标签嘛,也就是说你上面显示的是什么啊,那如果是这个按钮一的话,它它就是显示的是数字一了呗对不对?然后再写一下它的位置对吧?POS等于啊,这里它肯定要填一个位置的。 然后size它肯定是要有一个大小的,对不对啊,然后一会儿我们是不是有好多都要去创建呀?那我这里如果直接写数的话,是不是很麻烦呀,对不对?所以我们这里哈,可以先去给它定义一些常量啊,定一些,呃,我们可以在这里哈。 比如说我这个呃button,我的这个宽度对吧?我就给它写个BTN-W,然后,呃,我这个按钮的高度BTN-H对不对?我就先给它定死,然后大家都是一样的不就行了吗啊,然后这两个变量啊,我们给它写一下,哎,比如说我们都给它设置成五十五十好吧,然后这样子的一个高度跟宽度啊,然后底下的是这个POS是吧?还有POS也需要给它设置一下哈。 那我们看一下我们之前的这个图,哎,界面设计这个图我们看一下这个它的每一个按钮的位置是不是都不一样呀,但是我们看一下哈,第一行有四个按钮,第二行有四个,第三行有四个,第四行,呃这三个,然后两个,然后这边这边有一个等于号,是不是位置都不太一样对吧?但是他们每一个这个呃间隔长和宽,中间的这个间隔是不是都是一样的呀?那比如说我这个C这个按钮哈,我给它定义一个它左上角的位置,哎,那。 后面他们其实是加一个等量的就可以了,对不对?比如说我这个C这个地方啊,D就是第一个按钮,这个地方我给它写一个呃POS-X,然后POS4-Y,对吧?我先给它设置好啊,然后这两个是什么呢?嗯,这两个是什么呢?比如说这个PO,呃这个X,我给它设置成这个呃十。 十和十,对吧?这两个坐标哈,然后我第一个按钮呢?它这个POS就等于POS-X,然后POS-Y,好吧,嗯,然后这个size呢给它设置的是多少,哎,这个地方写个self啊,要不然它找不到对吧?self,好吧嗯,然后这样子去写,然后接下来这个size呢,我们也是用这个self点儿。 嗯,然后W对吧?然后self点儿H,对吧?然后用用我们刚才用我们设置好的这四个变量啊,然后去给它创建一下,然后我们运行看一下它的这个位置啊。 哎,我们看一下当前这个一,它就显示在这个位置了,是不是?但是跟我们的文本框其实是那个,呃,挡住了挡在一起了是吧?所以说我们这个地方应该给它去往下给它修改一下,因为刚才这个文本框的位置是在这个十呃十十这个位置嘛,所以我说我们这个是十,然后呃y坐标给它往下挪一下对吧?现在它们是挡上了吗?啊,比如说我们这个地方写成七十哎,然后我们再来点运行。 嗯,然后现在它就挪下来了,对不对?挪下来,比如说我们右边再给它去创建就可以了啊。然后我们就挨着去给它创建了,好吧啊,然后具体的它是比如说是零还是一呀,我们最后再给它去调整,我们先把这些按键都给它,呃去给它写好,好吧,都给它先把这些按键都给它创建出来啊。 然后比如说第二个按键的话,那它的位置呢,是因为它是在我的右边嘛,所以它的X应该再加上一定的数值对吧?比如说我们这里X给它加60Y是不用变的,size也是不用变的对不对?然后我们啊,然后给它换一个名字对吧?然后点击运行。 哎,这个时候就有两个按钮了,是不是?然后我看我们看一下我们这里设计的一行是有四个啊,我们先把这个呃先写出四个来,好吧,那我们就复制四遍啊。哎,因为你在做这个UI的时候,你肯定是要嗯,各种调整才能把它调对的好吗啊,然后这个地方比如说写一百二,那这个地方写一百八,然后我们来运行一下。 哎, 然 后 我 们 看 它 当 前 的 这 个, 呃, 一 行 四 个 按 钮 就 已 经 搞 完 了, 对 不 对? 一 行 四 个, 然 后 一 共 我 们 需 要 多 少 行 呀? 我 们 看 一 下 它 一 共 需 要 几 个 按 钮, 12345678910 11 12 13 14 15 16 17 18 个 按 钮, 对 吧? 那 我 们 就 先 给 它 搞 成 五 行 嘛 啊, 搞 成 五 行, 那 这 个 是 一 行 的 对 吧? 我 们 给 它 注 释 一 下 啊, 写 成 一 个, 这 个 叫 做 第 一 行, 哎, 第 一 行 的 四 个 按 钮 啊, 然 后 我 们 整 个 的 给 它 复 制 一 下。 连着这个注释一起啊好,ctrl,C,然后我们给它复制,哎,复制这么多遍啊,今天这个呃,因为计算器嘛,所以它的按钮就会非常的多啊。然后这里是第一行,第二行,第三行,第四行。 第五行,对吧啊?然后这次我们就把这些按钮都给它写好哈。首先看一下第一行应该是这个C÷然后*以及这个退格键对吧啊,那这里就写个C的话就是写个C,或者说写个clear都可以啊,就是清空的啊,清空你的输输入的啊。然后呢还有一个是除法,对吧除法,我们就写个Div对吧啊除法,然后第三个呢是乘法对吧MUL,然后下一个是退格。 是吧?退格我们就写个back啊这四个键对不对?然后它显示的分别是这个显示C这个显示杠啊,然后这个显示星,然后这个显示一个退格的一个箭头,对吧?我们可以直接用一个呃横杠,或者说你左边来一个这个哎,用个箭头来表示它,这就是第一行的啊。然后看一下第二行的button呢是789,以及这个-对不对啊,789-那我们就这个数字的话,就用数字来代替了7891。 以及这个–的话,那就是sub嘛啊。sub是减的意思好吧,然后呃七八啊九好吧,然后这个地方是什么?是减法,我们给它写个小横杠就可以了然后看一下它的位置需要调整吗?X是不需要调整的对吧?然后因为跟上面那四个是一样的,y都是要加的,对不对?y,我们这时候都给它加个六十啊。 加个六十,然后我们看一下后面的这size也不用调对吧?然后我们现在呢就运行一下,看一下第二行的一个效果啊,有没有出来好吧啊,呃这个哎,这个七八这个地方有问题啊哦,这个地方写错了,label这个地方写错了哈,好,我们点一下运行。 第二行,这个789就没有问题了,但是第一行啊,第一行这个问题是因为什么?呃,第一行是因为我们底下的这个把前面给覆盖掉了,是不是我们把后面改完了以后,它第一行就变回去了啊。然后看一下第三行,我们要写的是456对吧456以及右边的一个+啊,然后我们把这改一下。 456,哎,如果写的多的时候咱们就要注意了啊,写爱的对吧?哎,一定每一个咱们都是要给它调整好哈,要不然就是,呃,写的多了,中间就很容易出一些细节问题啊,有时候你找也不是很好找好吧,然后这个地方就是y这个地方我们统一都给它加上一百二啊,哎,就是你这个边距啊,这些值啊,都给它设置好就没有问题了然后后面是不用改的,然后第四行我们看一下啊。 第四行需要的什么123然后再加上这个等于号对吧啊123,然后等于号是什么呀,等于号就是eco嘛,我们写个EQ就可以了啊。然后这是lab,我们给它写一下123,然后这里是个等于号,然后这个地方位置呢,都给它统一的在y这个地方给它加上一百八啊,然后它就会跑到下一行去了。 好加一百八嗯,然后最后一行呢,是还有什么呀?最后一行只有一个零和这个相当于是这个点儿了,对不对啊,零和点儿,然后我们就删掉两个,留两个就可以了,哎,然后这个位置,然后这个比如说这个,这个等于号跟这个零会比较大对吧?咱们最后再调啊,最后再调,我们可以先把整个的这个计算器功能都实现了以后我们再去给它调,好吧啊,零还有一个就是那个小数点儿的这个点儿对吧? Point啊point代表点嘛啊,然后它显示的值呢,这个是零啊。然后这个是point就是一个小点对不对?然后y呢,统一给它加上上面加完一百八了,我们这里加二百四啊,给它都统一隔开六十这样子宽度啊二百四好吧,然后我们再来点击运行来看一下好。 啊,点击运行以后,我们看到现在的这个界面是这个样子的是吧?然后这个是清空,然后乘法除法,然后退格加减等于号小数点哎零,然后123456789这些数都有了,是不是?也就是说我们的这个计算器的这些呃界面最起码现在这些按钮以及这个框现在是都有了,接下来我们就是要去先把这个功能给它做出来对吧?那功能我们计算器是要靠什么呀?就是靠这些按键去按不同。 同的按键,然后这里算不同的算式的是不是?然后比如说我按下一个六,然后这里应该会出现一个六,我按下一个三,这里应该出现一个三是吧。那接下来我们要做的事儿肯定是给这些按钮,我们再去给它绑定事件了,是不是?好吧,嗯,那我们接下来看怎么写啊。
好,那以上呢,就是注释的学习。那我们在刚才的那两个程序中,是不是频繁的用到了一个函数,或者说我们把它称作命令啊,都是一样的,就是叫做print函数呀,对不对?哎,我们今天呢就是来正式的来学习一下这个print函数啊,因为我们从前面测试阶段就一直在用它了啊,它的这个功能呢叫做输出,或者说打印指定内容啊,就是这样子用的。 然 后 它 的 这 个 是 一 个, 呃, 非 常 完 整 的 一 个 定 义 哈, 对 咱 们 初 学 者 来 说, 你 可 能 就 是 完 全 看 不 懂 它, 后 面 这 个 是 在 到 底 在 干 嘛 啊, 它 其 实 是 一 个 比 较 完 整 的 定 义, 我 们 在 使 用 的 时 候 呢, 我 们 之 前 写 个 print 啊, 222 print 一 个 666, 哎, 其 实 是 一 个 非 常 非 常 简 单 最 简 单 的 一 个 调 用 方 式 了。 好 吧 哎, 那 我 们 这 个 完 整 的 也 不 是 说 需 要 大 家 全 都 背 下 来 或 者 记 下 来 了, 看 一 眼 就 好 了 啊, 先 了 解 一 下。 后面有用到的话我们会给大家讲好,那接下来呢,我们再一起来完成几个小任务啊。在这个几个小任务中呢,我们完成print函数的一个学习。好吧,这个任务是什么呢?首先还是打开我们的patcharm啊,这个没问题,已经打开了。 啊, 新 建 项 目 也 已 经 有 了。 这 次 要 新 建 的 文 件 是 code 1-3 print 对 吧? 然 后 底 下 呢, 有 1233 个 任 务 啊, 包 括 打 印 一 个 数 字, 打 印 一 个 字 符 串 儿, 这 个 都 没 有 问 题 了, 对 吧? 我 们 之 前 都 打 印 过 了 啊。 还 有 第 三 个 任 务 叫 做 创 建 变 量 啊, 这 个 变 量 好 像 咱 们 同 学 好 像 还 不 知 道 是 什 么 概 念 了, 对 不 对? 哎, 然 后 我 们 一 会 儿 完 成 任 务 的 时 候 是 会 给 大 家 讲 的 啊, 那 我 们 就 哎, 来 完 成 一 下 这 个 任 务。 首 先 在 第 一 章 这 里 哈, 我 们 先 新 建 文 件 对 不 对? 新 建 一 个 Python 文 件 文 件 名 呢 叫 code 1-3, 然 后 叫 做 print 对 吧? 我 们 今 天 来 学 习 的 是 print 这 个 函 数, 然 后 我 们 首 先 来 完 成 任 务 一, 哎, 这 里 注 释 是 不 是 就 用 上 了 呀? 任 务 一 是 什 么 打 印 数 字, 哎, 打 印 数 字 多 少 嘞, 2024 啊, 2024 啊。 哎,这个地方咱们同学可以快速的在脑子里先去想一想这个代码应该怎么写,然后快速的在你的patcharm里把它写出来。好吧哎,老师稍微给大家一点时间啊,我这边啊敲的慢一点啊。print,好吧,我们看一下这里,嗯,为了等大家我给大家讲一个嗯,patcharm的一个使用哈,比如说我想打print,我这里打出了一个字母P对不对?我发现,然后底下这里它会有一堆这些东西啊,这都是什么呀? 哎,这个其实就是它的一个好处,它给你的一些友情提示,对吧?嗯,这些呢,都是我们Python中常见的一些关键字啊,或者说一些命令啊,看后面如果写的,呃,这种它的就是一个内置的一些关键的字,或者说内置的一些函数,哎,有很多呢,我们在后面的课程中其实都会学到。 好吧,嗯,然后这里呢,其实你如果说比如说我print不想打那么多字了,那我直接选中它,选中它了以后我按一下回车键,按一下回车键,哎,它自动就给你写好了对不对?然后甚至它贴心的把这个小括号也都给你写好了啊。然后我们就直接在小括号里面写要打印的东西就好了啊,要打印的是一个数字对不对?2024啊。然后我们点一下运行,看一看这个任务有没有完成。 点击运行,我们看一下是不是没有问题,2024打印出来了对吧?那我们接下来哎,第一个任务就非常愉快的完成了,我们再来完成第二个任务啊。任务二,打印字符串打印字符串什么呀啊,我是米娅,哎,米娅是老师的英文名字哈。 哎,打印字符串谁还没有个英文名字呢?让我们看一下这次我们应该怎么写呢?那首先还是要把print这个命令给它敲出来对吧?敲出来以后啊,打印字符串我是米Mia,那我就把输入法切到英文,我是米Mia,嗯,然后这样子我们点击运行啊,这标红了,也不知道为啥我们点击运行看一下,哎,这个时候底下是不是也有红色的东西出来呀啊,这个是什么东西? 我们来看一下啊,这个呢其实叫做啊,Python里面的这个报错提示哈,只要看到这个颜色的字体,哎出现了,就说明你的代码是运行到中间就被终止了啊,没有运行结束中间就出现错误了。所以呢,我们这时候就来看一下啊,这个traceback就是一些追追踪信息哈,然后这个file表明的是你哪个文件出错了啊,哪个文件呢? 这 个 是 啊。 code 1-3 杠 print py 对 吧? 前 面 都 是 路 径 嘛 啊, 就 是 我 们 刚 才 写 的 这 个 py 文 件 对 不 对? 然 后 它 还 该 告 诉 你 了 在 第 几 行 在 line 五 啊 line 五 就 是 第 五 行, 哎, 就 是 我 们 刚 才 写 的 这 一 行 对 不 对? 哎, 然 后 哪 里 出 错 了, 嗯, 哪 里 出 错 了, 就 是 print 这 一 行 啊, print 这 一 行, 它 又 给 你 标 出 来 了, 然 后 底 下 如 果 有 这 个 呃, 向 上 的 这 个 小 尖 尖 的 话, 它 代 表 的 其 实 就 是 那 个 呃 箭 头 哈, 它 就 给 你 指 了 一 下。 就 是 前 面 这 没 有 箭 头 说 明 你 前 面 这 写 的 都 是 对 的 啊, 是 这 几 这 块 出 错 了 啊。 那 这 块 出 错 是 什 么 意 思 呢? 他 报 了 一 个 name error 啊, 这 个 具 体 的 什 么 算 name error 还 有 没 有 其 他 的 error 我 们 在 后 面 呃 异 常 啊, 或 者 说 报 错 类 型 那 块 会 给 大 家 详 细 的 去 讲 啊, 这 里 我 们 大 概 看 一 眼 就 行 了, 他 说 的 是 什 么 呢? 这 个 我 是 Mia, 哎, 这 句 话 没 有 被 定 义 啊, 没 有 被 定 义, 为 什 么 没 有 被 定 义 啊。 是因为我们前面大家有没有注意到啊?打印数字的时候是不是直接打印了?但是如果想要打印一句话的话啊,一句话的话,在我们Python里,它这个东西叫做字符串啊,要想要打印它的话,我是一定要把它写到一对儿呃引号里的啊,写到一对儿引号里,这里也是单引号,双引号都行哈,但是你,你保证你用一对儿就行了啊,用一对儿哎,这个时候我们再去点运行。 哎,发现这次就被打印出来了,没有问题了,对吧啊,这个时候同学们就要记住了哈。记住有一个点就是我们想要打印一句话的时候啊,不是数字阿拉伯数字那种啊,只要是你打印除了数字那一种啊,你都得给它加一对引号,把它放到引号里再打印出来,好吧嗯,然后这里有一个小波浪线啊,是因为它这里,嗯,按规范来讲是不应该加空格的啊,我是为了刚才让同学们看清楚,所以给它加了空格好吧啊。 这样子就没有问题了,我们点运行啊,点运行好,嗯,那这个时候我们的任务二就完成了,好吧,然后我们再看一下,呃,我们的任务三任务三,什么呃,创建一个变量一二,然后它的值呢是2024,然后再把这个变量打印出来,我们看一下哈,创建一个变量啊,1212的值呢是二。 2024,然后呢,我们要打印出来这个变量啊。好,那打印变量呢?其实在我们的Python里,在我们的编程里是非常非常常见也是非常基础的一个操作了啊。我们在前面两个任务里呢,学会了怎么打印一个数字,怎么打印一个字符串,那接下来我们就来打印一个变量啊,那打印变量那什么是变量啊,什么是变量,在我们后面的话也会给大家再详细的讲,这里我们简单的给大家讲一下啊,我们。 如果想要创建一个变量的话,其实就是12等于2024啊,去这样写就好了,左面呢是它变量的名字啊,然后右面呢是它变量的值。哎,其实就是这么简单的一句话,那为什么我要创建变量,或者说这变量是啥啊,就跟就类似于咱们呃,数学里学方程式的时候,不是要设那个未知数X吗啊,大家有没有一些恐怖的记忆回想起来啊,什么那个假设一个什么什么未知数X,然后怎么长是多少高是多少,然后。 最后什么求面积啊之类的啊。就那种求未知数的题,大家应该试过很多X吧,对吧?这个year呢,其实就类似于那个啊,它中它里面呢其实就是存一个数用的。 比如说咱数学里呢是,呃,先设未知数,然后代入方程,然后最后把这个未知数给求出来是多少对吧?但但是在咱们编程里呢,是你直接就给它这里就可以给它设置好它的值了然后你设置好它的值是干啥用的呢?是方便你后面去给它使用的啊。然后这样子我打印的时候,哎,直接打印一二啊,然后我们点击运行看一下能不能把这个呃变量给它打印出来呢?打印这个变量打印出来的,呃。 呃,是一二吗?还是什么呢?还是2024呢?啊,大家可以先自己思考一下啊,然后我们运行一下,发现a。 它打印出来的什么呀?它打印出来的是你这个变量里存的东西,对吧?变量存的东西啊,我们会把这个嗯变量呢,把它比喻成一个小盒子啊,比喻成一个小盒子,然后里面的值呢,就是你这个快递盒里面放的东西,或者你家里的收纳箱放的东西,那我想要把这个盒子里的东西打印出来,我就用print,然后写变量名就可以了,好吧,所以它里面打印出来的啊,是你的变量值,好吧,嗯。 那 有 同 学 也 许 会 问, 嗯, 那 我 想 打 印 2024 的 话, 我 直 接 print 2024 不 就 可 以 了 吗? 我 为 什 么 非 要 把 它 存 起 来, 然 后 再 打 印 出 来 呢? 啊, 这 个 呢? 其 实 是 因 为 如 果 你 写 的 代 码 比 较 复 杂 的 话 啊, 这 个 时 候 比 如 说 我 要 打 印 十 个 啊, 打 印 十 个 2024 啊。 嗯,十个太多了,我们就我们就写三个吧,写三个2024哈,那我的这个就,呃,代码应该是这么写的,对不对?哎,那如果说比如说2024年过去了,现在是2025年了,我这里是不是直接把这个地方改成2025,然后点击运行,我们看一下它就打印出来了三个2025,对不对?那你如果用2024写的话。 啊 print 2024 啊, 你 这 样 子 写 三 行, 我 们 ctrl C ctrl v 快 一 点 啊, 嗯, 来 复 制 粘 贴 一 下 啊, 写 三 行 2024, 然 后 2024年 又 假 设 又 过 去 了, 然 后 现 在 到 了 2025年, 那 我 改 的 时 候 是 不 是 要 改 三 遍 啊 啊 对 吧。 所 以 这 个 呢, 是 变 啊, 使 用 变 量 的 其 中 的 一 个 好 处 啊, 就 是, 呃, 一 次 定 义, 多 次 使 用, 然 后 你 修 改 起 来 也 会 很 方 便 好 吧, 嗯。 好啊,这个就是使用变量跟不使用变量的一个简单的一个讲解哈。关于变量这块的知识还非常的多,然后在后面的章节我们会再统一的集中呢,再给大家再去讲一遍,好吧,嗯,这个呢就是我们的任务三啊,任务的三现在也解决了,我们把这个再改回去啊,好嘞,然后点击运行看一下啊,没有问题对吧啊,这个是我们的任务三啊。 我们的任务三已经,嗯,完美的完成了然后看一下这边的,呃,示例代码啊。示例代码跟我们的这个刚才写的其实也是一样的对不对啊。然后注意一下打印字符串的时候,这里可以用一对单引号,也可以用一对双引号啊。 今天涉及到的术语还是非常多的,什么打印啦数字啦字符串啦变量啦哈大家稍微捋一捋,不要脑子懵掉了好吧,嗯,包括我们前面学的注释呀,对不对?哎,我们后面这些术语都是后面要经常使用的,因为它是非常非常基础,后面你基本上你不管写什么程序都会用到的。好吧,因为我们的编程的学习呢,嗯,它并不是说那种模块化非常清晰的,就比如说你今天学第一章就是第一章啊。 第一章学完第一章的知识就后面再也不用了,你再另起一块儿模块儿再去学别的,并不是的啊,这个是非常基础的,整个的学习过程也是,呃,循环的这种迭代的往上升的啊,你学一个比较难的知识的时候,肯定会用到这些比较基础的知识。 所以说呢,我们嗯,在夯实基础,哎,在打基础阶段,学这些非常简单的知识的时候,就要把它都学的,呃,扎实一点,好吧,学的扎实一点。嗯,不要觉得就是我这个代码很简单呀,看着就一行两行,那我就看看老师写呗,我也给自己都不动对吧?咱们屏幕面前肯定有同学一行代码到现在都没有敲吧,对吧啊,看着好简单呀,我不敲我就看老师敲吧啊,你一定要去自己敲,哎,自己敲的时候你会发现你自己敲出来的肯定运行不成功,肯定会有小问题。 题啊,我们在这个基础阶段其实就是要去把这些小问题解决掉,然后呢,把你呃,自己要养成一个良好的编码的这样子的一个习惯以及规范。好吧,包括你打字的这个熟悉的这种感觉呀啊,都要培养起来,这样子才能保证你在学后面比较困难的知识,你你才能不会有这些小的这些障碍,对吧? 要不然你到时候那个阻碍就太多了,问题太多你就解决不过来。然后你就会觉得,啊,这个东西好像好难呀,学不会啊,那我就放弃吧啊,就容易这样子半途而废了。好吧,嗯,所以还是希望,嗯,每一行代码都跟着老师一起敲好不好?
哎,那我们接下来看下一个呃,下一个任务哈,打印右侧的内容,哎,注意一下它有一个红字儿告诉你了一定要注意格式啊,那所以说它的这个考点在哪儿,考点肯定在格式上好不好我们看一下啊,它输出的是,呃,这样子好几行这样子的一个呃文本对吧嗯,说我是米娅,然后2024年我说啊,这是应该是一个是老师的新年flag,对不对啊,我2024年要做的事情。 请哈,2024年我要干这个,我要干这个,我要干这个啊,然后今天是九月几号?哎,要打印一个这样子的东西,我们先思考一下啊,应该怎么打印出来?首先第一行啊,第一行肯定是直接打印出来,没有什么问题,没有什么毛病对吧? 然后呢,2024年是不是出现了很多次呀,哎,出现了很多次的内容,我们刚才说过了,是不是就可以用变量去存储啊,用变量去存储,对吧?再注意一下,有几行之间中间还可隔了一个空行,对不对?哎,然后这个空行我们怎么给它处理啊?这个也是我们需要注意的。 然后还有这一点是,呃,最后一行的这个2024,这些数字你看到没?这些数字之间它是不是都有空格呀啊,这个空格怎么去设置啊,都是我们一会儿这个任务中要碰到的问题,也是我们要学的一些新的知识点。好吧,我们先啊,带着这个问题去想一想哈,其他老师可能一上来就告诉你,嗯,我这一章要学什么,然后再把这个知识点都给你给完你以后我们再去做练习,但是木面老师没有这样。 样子哈,我一般呢都会先给你一些新任务,哎,给你一些任务以后呢,你可以去思考一下,我用我已学到的知识哈,哪些问题能解决,哪些问题解决不了,哎,然后解决不了的问题呢,再跟着老师一起去听。好吧,这样子好处呢,就是你带着一个问题去思考吗?啊,带着一个问题去思考,这样子呢,对你这个学新知识的这个吸收会比较好,我们在今后的这个授课过程中也会经常使用这种方法。 啊,因为这个也是print学习嘛,所以我们就,嗯,不新建文件了,我们还是在这个文件里写哈,正好我们刚才的这个任务123其实是不是也能用上呀啊,这任务123也是能用上的对吧?比如说这个呃,任务二的这个print我是Mia,哎,是不是就直接我们给它,呃,调到第一行去,哎,调到第一行去,是不是就是能把第一行给写出来了对吧?第一行给写出来了啊,然后我们呃点运行看一下。 哎,那这样子的话就是第一行,我是米娅啊,这个已经是完成了然后第二行呢是2024年我要减肥对不对啊,2024年我要减肥,如果咱们直接写呃一行的话,肯定是没有问题啊,肯定是没有问题的,我们这些用不到了就把它删掉啊。但是我们刚才说了,哎,我们可能这里要用到变量了对吧?我们有一个变量的应用啊,那我们就把这个页儿给它放到这儿啊,那我这样子写的话就是点击运行发现。 嗯,我是米娅,然后2024已经打印出来了,后面要打印什么2024年,然后,我要减肥对不对?那我就把2024后面的这个写一下啊,print,然后引号,写一个字符串年,我要减肥啊。有同学可能说啊,老师,你不是说那个,嗯,标点符号啊什么的都要用英文的嘛,对吧? 啊,但是你的字符串里啊,这个是无所谓的。字符串里你打英文打中文的都是可以,它都是可以给你输出来的。好吧,那老师这里提到了一些,必须要用英文引号呀啊,其实都是这些跟我们的Python这个标准啊,Python的这个语法规则相关的啊,你如果用了中文的它就执行不了了,它就报错了啊。但是如果你在字符串里,它只是给你打印出来的啊,这个时候你用中英文都是可以的好吧。 然后我们为了跟第一行一致一点啊,我们这里也给它换成这个双引号啊,都在一个文件夹里,我们就不要用两种方式了。好吧,然后这样子我们点击运行看一下效果跟我们要求的是一样的吗?嗯,跟我们要求的差在哪儿呢啊,差在哪儿呢? 差的其实就是这个,嗯,2024应该跟底下这行写到一行里对吧?写到一行里,哎,但是是不是我们现在还没有学怎么写到一行里啊啊。 那我们接下来就来学习一下这个怎么能把多个内容写到一行里啊?这个呢其实就是有一个新的知识点叫做,的使用啊。如果咱们想要在一行中打印多个内容,哎,其实就可以在我们的print函数里啊,用,来分隔开啊,来分隔开,我们看一下怎么写呢?嗯,我的这个year是我要打印的一个内容对吧?然后年我要减肥是我要打印的另一个内容对不对?然后我们之前呢是分别把它写在两行里啊,然后。 然后这个时候呢,我只要把它用这个呃,隔开就可以把它写到一行里了。懂吗?啊,其实就是非常简单的一个用法,对不对,用,直接都分开就可以了啊。然后。 然后这里的一个呃小小小的一个细节就是注意一定要用英文的,啊,然后你能隔开的所有的东西就是像这个变量跟这个字符串,包括跟数字之间,嗯,无所谓啊,你写什么都行,好吧,都可以被隔开啊,那我们就来试一下,给它改造一下,我们把这些给它删掉啊,删掉以后中间加一个,好吧。 哎,加一个,啊,这里多删了一个引号,哎,这样子啊,这样子我们点一下运行,点一下运行,发现这个就对了,对不对啊,发现这个2024年我要减肥,他们就写到一行里了,哎,但是哦,有一个小小的细节发现了没? 它 们 中 间 多 了 一 个 空 格, 对 吧? 多 了 一 个 空 格 啊。 是 因 为 呢, 就 是 我 们 的 这 个, 分 隔 符 的 它 的 一 个 呃 特 性 就 是 它 会 用 空 格, 然 后 当 做 呢 一 个 分 隔 符 去 把 你 打 印 的 每 一 个 内 容 都 给 你 隔 开 哈。 我 们 再 给 大 家 举 一 个 例 子, 比 如 说 我 们 print 123 啊, 我 们 看 一 下。 打印123这三个数字,哎,它是不是每一个都有这个空格给它隔开的,好吧啊,这个是它的一个,呃,它本身的一个用法,好吧,嗯,然后注意一下,你在用,的这个表达式的时候看一下这后面是这里是不是又画了一个灰色的波浪线呀啊,它其实这里又是触及到一个P1P8的规范了啊,后面一般我们会空一个空格啊,前面不空后面空啊,注意一下,哎哎,有一点很。 很奇葩哈,前面不空后面空好吧嗯,然后我们看一下还有几行要写呀。哎,我们跳到这里啊,发现还有这三行对吧?我们先把这三行写完啊,我要读一本书啊,一百本书,然后我要去十个城市旅游啊,我们先把这个写好,然后中间细节会有一些呃,那个格式的调整啊,一会儿,然后我们再给大家讲,我们先把这三行写好。 好,先复制下来,然后这里再去打字啊。哎,大致就可以了。跟前面不完全一样的话也没有关系啊。嗯,应该是去十个城市旅游对吧?嗯,这个打什么都不重要啊。好。 然后我们运行一下,看一下效果啊,运行一下,看一下效果是这样子的啊。然后这个跟我们题目要求的格式呢,其实还是有些不一样的啊,比如说这个2024的这个年后面没有这个空格啊,然后后面他们每一行中间还有一个空行,对吧哈,嗯,你不学我们的这个新的知识点就解决不了这个问题哈。 那我们先来解决哪个呢?啊,我们先来解决一下这个,呃,后面啊,这个这个,引起的这个空格的问题哈,引起的这个空格的问题哈,那咱们还记得就是,呃,刚才我们学print的时候这里啊。 这里哎,这里有一个啊,这个这个它的一个原始的一个定义对吧?我们看一下这里有一个Sep呀,还包括这个and呀,这些都是什么东西哈,这个呢其实就是,嗯,print函数的,它的一个可选的一个参数啊,也就是说,呃,你如果想更加用一些其他的格式的话,就可以用它两个去调整啊,具体怎么调呢,我们来看一下啊,这个Sep的用法。 Sep呢,它其实控制的就是我们的这个空格啊,它这个,分隔符,然后它会引起的中间的一个啊,它用的是这个空格去把两边的这个内容给它分开了对吧?然后如果这个时候我想个性化定制啊,我并不想再用这个空格去分隔了然后我这里就可以去设置一下这个Sep的值啊。Sep,比如说我想用这个去给它隔开,我们试一下,嗯,用给它隔开可以吗? 哎,你会发现中间这个就变成了是吧?所以说这个就是我们的这个Sep它的一个啊,神奇的一个小用法,如果你不写的话啊,它默认就是用的空格,然后如果你写的话它就会用你那个。那有同学可能,嗯,脑洞比较大,说老师,那我这里,呃,只能写一个嘛,能不能写一堆呀啊,能不能写一堆呀,我们看比如说我写个星星星星啊,来看一下。 哎,你可以先在脑子里思考一下,先先给出个答案,行还是不行啊,行还是不行会,不会报错,我们看一下也没有,问题是吧,我们的Python非常的强大哈,就是你这个地方不管是啥,只要是写一个字符串啊,然后就可以把它分开。好吧,好。 好,那为什么我们要讲这个分隔符呢?它跟我们的这个呃要求有什么关系呢?我们的要求是不是在2024的这个后面不要有空格呀,对不对?哎,那你可以转动一下你聪明的小脑瓜,想一想,那我这个时候Sep这里应该写什么呀?哎。 是不是应该不写呀?是不是那不写是什么呀?其实就是我们写一个引号啊,写一对引号,然后中间什么都不写,其实就可以达成我们的这个啊,想要的这个效果了,你看对不对?哎,这个就变成了2024年,然后中间里这里是没有了,对吧啊,这个呢,其实就是它的一个用法啊,我们在这里其实给大家写一个啊,这个我们写一个这个叫什么行尾的啊,叫行内的一个注释,对吧?就是我们Sep的这个呃作用,哎,我们。 们按照这个格式去写啊。Sep的作用是什么呀?它的作用呢?其实就是啊,用来设置设置啊,设置打印多个内容的分隔符是什么啊?分割符是什么?好吧。 哎,简单写一下啊,简单记一下,就是这样子一个作用。哎,那我们其他的行,是不是想要跟它有一样的效果呀,那我们就再给它打出来就好了啊,咱们同学可以自己尝试着去多打几遍啊。老师这里就比较懒了,我直接复制粘贴了好吧,然后我点击运行看一下,哎,是不是就是跟我们的题目要求啊,跟我们的题目要求是一样的一个效果啦,好吧。 然后接下来就是这里有一个空行了对吧?这里有个空行了,空行怎么办?哎,空行,其实那那我在这里,嗯,按一个回车给它空一行有用吗?哎,会有一些初学者就是这么想的哈,也就是这么做的,我在这儿点个空行,然后点运行,发现代码区里虽然说有空行,这里没有啊,为啥? 因为你你这里只是编辑器嘛对吧?你这里写空行没有用哈,它不会真正的被代码去运行的。然后你如果真想让代码打印出一个空行,我们可以在这里写一个print语句。哎,这里其实就是涉及到print一个特性了啊。print,它默认它就是一个打印的功能嘛。然后如果你什么都不写,它是什么都不会打印。 但是,哎,它会有一个效果啊。咱们同学可以想一想,我这样子点击运行以后,呃,它能执行吗?它会报错吗?还是会打印出什么东西来呢?我们点一下运行来看一下啊,哎,发现它是打印出来了一个空行出来是吧?它真的打印出一个空行出来。 哎,那为什么是这样子呢?其实是因为这个我们print啊,它是用来打印一行内容的,然后如果你的这个括号里的内容是空的话,它其实就是打印一个空的东西出来对吧?也就是说它的嗯,它打印出来这个一二,我要减肥以后,它的光标会到这儿啊。但是呢,你这个print命令结束了以后,它默认它会 的啊。 啊,它默认它会 的,所以说就会形成一个空行,这样子哎,这样子的一个效果好吧,那这个空行它是呃,怎么控制的呢?或者说因为比如说我,我如果想达到这个呃效果每一行空一个的效果的话,我其实在这里直接写两个print写两个空行就可以了对吧?哎,但是我们这里呃,教大家一个其他的一个写法啊,为什么?其实就是因为我们print本身哈,它为什么就是我写一个空的,然后它会啊去。 直接就可以 然后换了一个空行呢就是它这里还是有一个按的这样子的参数去控制的啊。按的这个参数呢,它其实就是,嗯,表示我的这个print命令结束以后and不就是结束的意思吗啊。然后我在末尾要给它加一个什么字符,它默认的话是用了一个-N啊-N呢在我们啊,注意一下是向右斜的这个/哈,在你的这个回车键的上面,哎,不是那个?底下的那个左/啊,是右斜。 杠哎,这个-N啊,在我们的代码里,在我们的编程里呢,它表示的是一个,呃,回车啊,就是跟你在键盘上按下回车键的作用是一模一样的啊,就是 用的。好吧,它默认的其实就是这个啊。然后呢,所以说你在点运行的时候,它这里才会出一个空行出来,你不信的话我们可以试一试啊。如果我把这个and变成一个,呃还是变成一个吧,大家想一想打印出来的效果是什么样子的。 哎,自己先想一下,然后老师给大家运行一下看一看。哎,发现是不是这就变成了一个了,而且注意一下,这个跟你想的位置一样吗?会不会有同学想,这个是在我要减肥的后面啊?还有没有同学会想这个会单独占一行啊,这个注意一下哈,并不是那样子的啊,我们看一下这个print它的一个运行逻辑,是啊,比如说这个第三行的这个print。 第三行的print执行完了以后,它会打印出来这个year啊,2024年我要减肥对吧啊,打印出我要减肥,打印出来了以后,它的。 的这个and的默认的设置是什么呀?是-N对不对是一个-N,所以说它这个时候进行了 进行了 这个时候鼠标的光标其实就挪到了下一行的开头了,对吧?挪到了下一行开头以后看一下第四行要打印的内容是什么呀,是空的对不对,是空的以后呢,然后它的and是什么呀,它的结束是一个啊,它的结束是一个*那它后面还会再加-N吗?不会啦,因为你已经把它的and给它改掉了,给它改成一个星。 *了,那他自己就不会
了。所以说他的光标啊啊,他文件写写文件的这个光标啊,还是会留在这个地方,接着再去写第五行,print这个year啊,这个2024年我要读一百一百本书啊,这一行好吧,这个不知道老师有没有解释清楚哈,如果咱们不懂的同学可以多听几遍。 哎,然后这里我们也可以用一下,嗯,patcharm,它自己有一个代码调试的功能,我们调试着给大家来看一下它的一个运行效果哈。我们首先在这个第三行这里,哎,发现我的鼠标一过来的时候,它这是不是出了一个小圆点啊?嗯,我们点一下,哎,那这个到底应该怎么用呢?是在这里哈,我们点击底下看到没?哎,这有一个调试啊,然后这边画着一个小虫子,哎,调试,我们来试一下这个调试功能。 我们点击调试以后发现哈,这个变化还挺大的是吧?都有一些看不懂了啊。然后这个呃,上面这里有有变,也有一些变化,然后这个页等于2024的,后面是不是还多了一个啊,多了一个这个是什么意思呀,这个它就是告诉你哈2024它的它的这个啊,这个页的值现在是多少,好吧啊,2024的意思,嗯,灰色的然。 然后呢?这个第三行是不是被高亮了啊?第三行是被高亮了,也就是说说明我现在的代码,呃,运行到第三行这里,呃,暂时终止了啊,终止停到这里了。是为什么呀?因为我们现在要调试代码嘛,我们想看一下代码一行一行的执行效果。好吧哎,那我们这里呢,在底下的这个呃控制台这里我们看一下啊,现在这里呃展现的是线程和变量对吧?然后变量我们看一下它这里有写这个一二,它是一个int是一个。 个数字对吧?哎,是int表示的这个数字,然后它的值呢是2024,好啊啊,这个是变量的显示,那我们切到控制台这里啊,切到控制台这里看到这个啊,我是米亚啊,我是米亚已经被打印出来了,对吧? 我是Mia,其实是第一行啊,第一行这里的一个效果一二变量是第二行的一个效果,然后第三行是不是还没有被打印出来呀,对不对?然后我们怎么能让这个代码去执行?第三行呢,发现这里有一堆箭头对吧?有一堆箭头我们来看一下啊。然后这个是什么呢? 这个叫做呃呃,我的鼠标有点挡住哈叫做单步执行我的代码啊,单步执行我的代码是不是就是啊,一行一行去执行啊,因为一行算一步嘛对不对?然后我们点击这里,哎,去试一下,看看是什么效果,嗯。 哎,我们点击完了以后发现这个2024年我要减肥这句话是不是被打印出来了呀啊,被打印出来了,而且这个时候看一下我们的代码高亮是不是来到了第四行啊,来到了第四行,我们再来看一下,我们再点一下这个呃,单步执行我的代码,看一下出的是什么效果。 哎, 又 打 印 出 来 了 一 个* 对 吧? 然 后 这 个* 是 打 印 到 这 儿 啊。 然 后 我 们, 哎, 其 实 这 个 呢, 就 是 我 们 py charm 的 一 个 代 码 调 试, 如 果 咱 们 有 哪 不 懂 的 啊, 真 的 是 搞 不 明 白 这 个 地 方 为 什 么 是 这 样 子, 我 们 可 以 试 一 下 用 一 下 这 个。 单步调试的功能,然后一步一步的,呃,去看一下你每步每一行代码的执行效果啊。因为你好多行的话,你可能就,嗯,它展现的是一个最终的结果吗?你可能不懂它中间的过程了啊,这个时候我们就可以一步一步来,好,我们再点一下,哎。 再点一下发现啊,这一行也被打印出来了对吧?然后最后呢这个看一下这个空行是不是真的被跳过了啊。这个高亮代码高亮直接从第五行跳到了第七行,哎,然后我们再来点运行看一下啊,这个就整个运行结束了,是不是啊,就是整个是这个过程哈,好吧嗯,大家看一下能不能理解这里啊,那我们把这个呃再点一下这个圆点就是再点一下就取消了,好吧,就取消了啊。 好,那我们接下来就是这个and啊,刚才其实都是在学习这个and的功能,那我们就知道and的这个用法了,以后我们其实就可以在这里对代码进行改造了啊,我们把这些刚才加的这些空行都删掉,来看一下我们当前代码的运行效果是这样子的啊,那我想要在这行后面加加一个空行怎么办?哎,其实是应该在这里,我们其实就可以去设置它的参数了对吧?我们设计一个and等于哎,等于这里写什么呢? 之 前 是 一 个
对 吧? 现 在 我 想 多 加 一 个
怎 么 办? 同 学 们 啊, 自 己 想 一 想, 哎, 有 没 有 脱 口 而 出 啊, 那 就 写 两 个 -N 呗, 对 不 对? 哎, 写 两 个 -N, 我 们 试 一 下, 嗯, 没 有 问 题 对 不 对? 哎, 没 有 问 题, 多 加 了 一 个 空 行 啊, 那 我 们 看 一 下 后 面 是 每 一 个 都 有 嘛, 所 以 我 们 也 是 ctrl C ctrl v, 哎, 粘 贴 一 下, 嗯, 咱 们 同 学 哎, 自 己 想 练 一 下 的 话 就 自 己 多 敲 几 遍 哈 好 吧。 哎,就是这样子的一个效果啊。最后这个效果做出来是对的,对不对?跟我们的题目要求是一致的啊。然后这里再给大家记一下我们的这个and的用法写不开了,我现在前面吧,嗯,and这个参数的一个作用呢,就是,呃,设置我们的print命令执行结束以后的啊。 执行结束后的啊,这样子的一个啊,操作啊,执行结束后,他给你的这个打印出来的后面加的这个东西好吧。
