00:00
好,我们接下来来一起来看看这几个练习啊,嗯,我还是呢,新建一个文件啊,新建一个文件,呃,保存一下,我们这是练习啊,衣服的练习,呃,我们把这几个练习呢,就都写到这一个文件里了啊呃,我们来看一下这个一共是。五个D啊,五个DCTRLC我给粘过来啊,然后呢,我给它注释一下啊,CTRL鞋盖我们这个注释的快捷键啊,然后一个一个看,先看第一个编写一个程序,获取一个用户数的整数,然后通过程序显示这个数是奇数还是偶数,其实这个非常简单,那就是判断一个数是奇数还是偶数,那咱们先做第一件事儿,我们先来干嘛呢?先来获取我们这个用户输入的这个整数啊,数字整数,那这里我们直接来一个number,诶,等于一个这个input input我们要获取整数,那这里边我们就要写一下了,叫什么呀,叫做请哎输入哎,一个任意的整数啊,请输入一个任意的整数,那这里边既然说是整数了,而我们input的返回的值是一个什么呀?返回的是一个这个string类型的,所以这里边我们必须要用什么呀?哎,我们要必须要做一个类型转换,就说需要把这个结果整个转换成一个整数,这样才能确保我们number是不是一个整数啊,哎,那这样整完了以后。
01:23
后,然后接下来再做,我们来判断我们这个number,诶是否是一个,诶叫什么呀?显示啊显示,诶显示我们这个number是奇数,哎,还是偶数啊,也说我要判断它是奇数还是偶数,那我们来说一下,那怎么判断一个数是奇数还是偶数,哎,其实非常简单,如果一个数能被二整除,那是不是就是偶数啊,不能被二整除是不是就是奇数啊?哎,所以我们要做的只是要判断它能不能被二整除,那问题来了,怎么判断它能不能被二整除?哎,那说白了就是来看它跟二相除有没有余数,如果没有余数就能能整除,能整除是不是就偶数?哎,有余数的人不能整除,不能整除是不是就是奇数啊?所以非常简单,我们直接来一个if,还记得这个吧,应该是一个number,摩以二等等于零,哎,然number和二去做这个摩运算,摩是不是就和一个数相除去取余数啊,哎,如果没有余数,没有余数是不是摩一二应该等于零。
02:23
那等于零,那么它就应该是一个什么呀,就应该是一个偶数啊,那我所以我这写一个number,这来一个是偶数啊,Number是偶数,然后再来一个else else我就不用判断了,Else证明什么?哎,证明我们这个number是奇数,哎,Number是基数,是基数啊,然后我们这一保存,这时候再一执行走一个,诶输一个数来一个走一个二是偶数,然后再一执行来一个来一个这个诶19再看19式奇数是不就OK了,哎非常非常的简单,就这么几项代码啊好,这块说完了,我们接着往下说啊,还是再强调一下,注意我们这个相等是两个等于号,你可别写一个等于号,一个等于号又变成了负值了啊,变成负值了,好,这我先给它注掉啊,然后再往下说,再往下说下边第二个练习,哎,编写一个程序检查这一。
03:23
第一个年份是否是闰年啊,闰年我们都知道,哎,我们这个年份有这个平年,还有这个闰年对吧?哎,像什么这个这个这个平年的时候,我们二月是这个28天是吧?哎,然后我们这个闰年的时候呢,二月是这个29天,我们经常需要去呃去去做这个东西,那我们来看这东西怎么计算,那首先呢,我们这个年份呢,我们既可以让用户输入,也可以我们指定咱们这样吧,我还是让用户输入吧,我直接来一个year year等于一个这个,同样我们是不是也得转呀,哎,所以先用给包起来,然后我这来一个input的,Input来什么呢?哎请哎输入一个什么呢?哎,一个任意的年份啊,任意的年份好,输入完了以后在这儿我们要检查什么,哎,检查这个年份是否是闰年啊,日闰闰啊,检查这个年份是否是闰年,那怎么检查呀,我们来看,如果一个年份可以被四整。
04:23
除不能被100整除什么意思啊,可以被咱们一个一个来,可以被四整除,也就是说什么呀,这个一,哎摩也四等等于零,这时候就能被四整除啊,哎,然后呢,不能被100整除,也就是一摩也100,哎,摩100干嘛呀,不等于零,是不是就是不能被100整除了,哎,这是不是一个条件呀,那这两个条件得干嘛呀,同时满足,是不是才能证明我们这个年份是闰年呀,所以我们来一个什么呀,暗的啊,这是我们来一案的,这是我们第一种情况啊,你能被四整除,但是不能被100整除,你就是一个闰年啊,闰年,然后再来还有一种可能,你可以被400整除,是不是也是一个闰年呀?哎,所以在这儿我们来一个一膜以什么呀?哎,膜也400等等于零,这时候也说明你是闰年,你说两种情况,这种情况你是一个闰年,还有这种情况你是不。
05:23
也是一个闰减呀,那这两种情况他们的关系是什么?哎,他们的关系很明显是一个什么呀,是一个哦啊是一个或者的关系,你能被四整除,不能一为100整除,或者你能被400整除,都说明你是一个闰年,所以注意这个关系先给它分析出来,那然后是不是就简单了,我直接来一个if if什么呀,把这条件给它粘过来啊,所以写这种复杂的时候不用着急,慢慢去分析一下,然后如果这个条件满足,就证明你是什么呀,哎,你是一个闰年啊ear,然后这来一个,哎,来一个是闰年啊,是闰年,然后else呢,Else证明它是什么呀,它是一个平面啊,我直接复制过来啊,Else证明它是一个平面。
06:11
平年啊,我们这一保存,我这一直行,诶这里边有冒号写错了,Else,这个冒号保存一下,这一执行输入一个年份,比如说我输入一个这个1999年,这一输入,诶1999年是一个平年啊,199年是平年,再来一个来一个2000年,2000年是一个什么呀?是一个闰年啊,我们再来一个来一个这个1994年,1994年也是什么呀,也是这个平年啊,也是明年,那就是这么一个效果,再来看一个来一个这个2004年,湿润年啊,湿润年就是这样一个效果啊,通过它就可以判断了,那这个主要是还是考察的我们一个条件的一个使用啊,条件一个使用好,这是我们说的这个练习二,判断一个年份是平年还是闰年好,接下来我们再来说下边一个练习三,练习三就是哎,有点意思了是吧,让我们计算一个这个狗的年纪,哎,那我们说了这上面写个例思是吧,读题这题稍微长。
07:11
啊,所以读题的时候别着急啊,我家的狗五岁了,哎,五岁的狗相当于人多大年龄呢?其实非常简单是吧,狗的年,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁,哎,那么五岁的狗就当人类年龄应该是什么呢?诶连前两年10.5 10.5加10.5,然后五岁,然后是不是有三个四啊?哎,加上三个四等于一个33岁,也就是说五岁的狗相当于一个33岁的人啊,相于333岁人,我们知道狗的年龄没有年龄那么大是吧?所以这个狗长到55岁了,就跟这个人长到33岁就已经步入中年了,对吧?步入中年了?好,那现在让我们编写一个程序来获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄啊,相对人的年龄,那这块我们要怎么做,那首先还是需不是需要让用户输入狗的年龄啊,那其实是一样的,对吧,我把这先给它住掉啊住掉哎,整个都住掉,上边这个也。
08:11
六啊,注意掉以后我们再来看,那我们还是先让它输,我们还是要先获取这个狗的年龄,来一个age等于一个是不是还得转呀,哎印呢,然后我们这来一个音铺的,哎,叫什么呢?哎,请输入狗的年龄啊,请输入狗的年龄,那这整完了,当然这里边有个小问题啊,因为有的时候我们会说这狗啊,就几岁半几岁半对吧?人有时候也会这么说,那所以有有可能它出现一个1.5岁或者1.6岁这么一个情况,那这个时候如果你用int转的话,会出现一些小问题,对吧?那假如说我们要适配这种情况,那怎么办呢?那我们是不是需要把它转换成一个浮点数啊,所以这里呢,我们应该其实用一个float更合适一点,为了避免这种一岁半呀,两岁半这种情况对吧,所以我们来一个float啊,Float转换成浮点数,然后在这我们要来判断了,那这里边我们就要分情况来看了,首先我们来看。
09:06
哎,狗的前两年的每一年相当于人类的10.5岁,也就是说如果这个狗是小于等于两岁的,比如说这狗正好两岁,那我们是不是就应该让它直接乘以10.5啊,哎,乘以10.5,所以这是我们说的第一种情况,第一种情况什么呀?哎,如果如果我们这个狗的年龄,哎,在我们这个两岁以下。哎,两岁以下,注意这时候是包含两岁的啊,包含两岁的,包含两岁的,那这个时候我们要怎么办?那我们直接来一个if什么呀,If一个age age干嘛呢?哎,Age我们这样叫做一个。小于等于二,哎,如果你的狗的年龄是小于等于二的话,那这个时候狗的年龄应该是多少?哎,总年龄多少?这样啊,我们这里边我们来一个这个dog位置啊,我们改一个名叫dog位置,这是我们说的一个狗的年龄啊,狗的年龄,然后这里边我们说要计算一个结果,计算出一个这个它相当于这个人的年龄啊,哎,人的年龄,所以在这我们来一个哎,Like,哎,Like一个person的一个H相当于零年龄,我们先让它默认等于零啊,等于零,待会我们就用这个变量来保存那个年龄啊,换成后的年龄,好,那现在如果它是小于等于二的话,我们这个like percentage应该等于什么?哎,应该等于的是我们这个dog位置来乘以一个谁啊,乘以一个10.5,乘以10.5,因为每一年就相当于10.5岁嘛,对吧,两年就是两个10.5,一年就是一个10.5,这是我们说的第一种情况啊,小于等于二,然后再来一个else,一旦。
10:51
进入了L这个时候说明什么?哎,一旦进入了L,这个时候就说明了这个狗的年龄是不是大于两岁了,哎,大于两岁,那这个时候我们就要麻烦一点了,大于两岁应该怎么办?
11:06
哎,大于两岁我们就要分情况讨论了,我们首先既然大于两岁了,那首先他是不是前边两个年龄应该是肯定至少得有一个10.5加10.5了,因为他至少两岁了,对吧?至少两岁了,所以我们先来一个like percent age等于一个这个dog age乘以一个这个,哎,不是dog位置的应该是一个什么呀?二乘以一个10.5,这是他至少的年龄了,对吧?因为他已经大于两岁了,然后超过两岁那个部分每一年是不是相当于四岁啊,哎,每增加一年就增加四岁,所以接下来我们还要等什么?哎,我们还要整我们这个dog age干嘛呀?哎,减去一个二减去二,减去二,这整个我加一小块整个这个部分是不是就是我们那个狗超过两岁那个年纪啊,比如说他是三岁超过两岁,是不是超过一岁啊,比如说他是十岁超过两岁,是不是超过八岁啊,那这一年每一个年纪就相当于什么。
12:06
相当于四岁,所以再让这个整体乘以一个四啊,乘以一个四,那这个是不是就是超过两岁那个年龄啊,哎,那然后这个年龄还应该干嘛。哎,我是不应该把这个年龄跟之前那个年龄进行相加呀,爱情相加,所以这个时候非常简单,直接like percentage加等于他,刚才我们已经算出这个两岁的年纪了,那现在我们这儿给他做一个加法,是不是把这个等于年龄给它加进去了,那这样计算完了,这个年龄是不是就是一个它相当于身这个人的年龄啊,哎,人的年龄啊,就这么一个,其实也不难啊,也不难,我们说了咱们得写一下注释啊,如果狗的年龄在两岁以下,然后下边这个else什么意思,Else是如果我们这个狗的年龄,哎,狗的年龄在我们这个两岁以上啊,两岁以上这个情况,那我们说了两岁以下,两岁以下他是直接什么呀?诶,直接将我们这个当前的年龄,哎,当前的年龄干嘛呀?哎,乘以10.5。
13:12
乘以10.5是不是就OK了,哎,乘以10.5啊,然后如果是两岁以上,我们这是在干嘛?这是在计算我们什么呀?哎,计算我们这个钱,哎,两岁,哎,两岁,哎相当于我们这个人类的一个年纪啊,前两岁,哎然后这是什么呢?哎计算什么呀?哎计算我们这个超过哎两岁的部分,哎相对于什么呀?哎人类的这个年纪,哎并什么呢?哎,并进行相加啊并进行相加,这个算法其实很简单啊,你需要自己去看一下,因为这写的感觉会有点乱啊,都是把我们之前的一些知识给它运用起来了,那运用起来了以后,这个like percentage是应该就是我们这个狗相对于人的年龄啊,哎,所以这里边我们最后做一个输出,注意这个时候输出我们就要在这个if else外边输出了,因为它不需要被if控制,所以在外边输出直接print啊print什么呢?我们先来一个这个dog。
14:12
Age置,然后这逗号我来写一个啊,写一个叫什么呢?哎,岁的这个狗啊,狗它的年纪呢,年纪相当于啊,相当于逗号来一个,这个叫做一个like person age,哎岁的人这样一保存,我们这一直行来一个呃,输一个二啊两岁的狗年纪相当于什么呀,21岁的人啊,我这来加一个冒号,加一个冒号我这再一直行来一个30岁的狗,相当于25岁的人,我再来执行一下啊,再来执行一下,我来一个五岁的,看是不是33啊来一个这个五岁走一个是不是就是33岁的人呀,哎,好处还可以什么呀,假如这狗是30岁半了,有一个是不是相当于27岁的人呀,哎,27岁的人啊,是这么一个效果,所以这个我们就给他完成了啊,其实主要用了一个小算法啊,小也不算什么算法了,就是你需要去分析一下什么时候,哎,怎么计算,小于两岁的时候怎么计算,大于两岁的时候如何计算啊,然后这里边还一个问题。
15:12
也就是说,当我们用户假如说他输的是一个负一的时候,哎,他说了年纪相当于负10.5岁,那这个时候出现一个问题,有没有负数,哎,不能出现这个负数啊,不能出现这个负数,所以这个时候实际上我们应该在做一件事,就是检查这个用户输入的是否合法啊,是否合法,那这个时候我们要怎么办,那怎么办,那我可以这两种改法啊,两种改法我可以这么写,我先来检查什么呢。先来检查用户输入的是否是负数啊,是否是负数,我直接来一个if,什么呢?If,我们这个DOGH小于零,小于零是不是就负数了,哎,小于零就是负数了,我直接输入一个,哎,你的这个输入不合法啊,你的输入不合法写这么一个,然后这就改了,这改一个什么呢?改一个这个l if啊改L,也就是说当你这输入的是小于零的时候,我是不是就不往下走了,那这个时候就解决这问题了,叭,如说来一个负十走一个是不是告诉你输入的不合法呀,哎,但是问题是这是不是最后还有输出啊,哎,这时候这个最后还有输出,那这个时候呢,我们这个处理起来稍有点麻烦了,因为我们在这儿是不是也得做一个这个做一个判断了,哎,做一个判断了,我要判断这个,哎,那也就说我这里写两遍了,还得再写一个if,一个DOGA,诶大于零,大于零的时候我才说出这句话。
16:41
这一保存这一执行大于零错误的啊,没有写冒号啊,没有写冒号,再一执行,我来一个负十,这样就OK了,对吧,这样就OK了,但是这种写法是没有问题的啊,没有问题的,但是这样写法有点麻烦,有点麻烦,但是你要能看懂这种写法啊,那么还可以怎么改啊,这个练习还可以怎么改啊,我还是啊,我把上边这个先粘下来,CTRLC先粘下来啊,我把这个呀,我先给它恢复成原来的那个状态啊,归成最开始那个状态啊,这是一个if,然后没做判断,哎,我们要先来干嘛呢?我们是不是要先来检查我们这个书的合法性啊,哎,检查检查我们这个用户的输入是否合法,那我们说了合法的数字是不是得要求我们这个dog的age你得是大于零的呀,大于零是不是才合法呀,也就是说只有跟他们年龄合法的时候,我才有必要执行这一这一套对吧,那怎么。
17:41
办怎么办?那现在注意啊,看着我整体把这堆代码向里缩进,把整体的代码向里缩进,那现在变成什么效果了?现在的效果就是这一堆代码是否执行由谁决定,是不是由这个条件决定啊,如果他为处,我这一堆代码就会执行,如果它为force,这一堆代码是不是就不会执行啊,哎,不会执行,也就是说他们的执行与否由这个if来决定,懂这意思吧,所以现在我们说了,咱们先看效果啊,如果我们的这个年龄啊,如果年龄二走,你是不是可以计算呀,但是如果年龄是一个负十,它是不会计算呀,哎,不会计算就这么一个效果,也就说我用这个if来控制整个这一块,这是没问题的,也就是说注意了,我们在什么呢?哎,在我们的if语句中,哎,或者这么说吧,哎,在我们这个if中也可以去嵌套我们的这个。
18:41
If,这没什么可说的,就是说以后也是我们所有的语句都是可以互相去嵌套的啊,互相嵌套的,那这个时候你注意看这关系了,也就是说我现在的缩进级别有几个呀?是不是出现了三个级别呀,这是第一个,第二个,这是不是第三个呀,那他们的关系是什么?首先我们来看,这是我们的整个第一个缩进级别,这个缩进级别被他管,也就是说这整个这一块执不执行由这个义务说了算,这个义务说你能执行他就能执行,说你不能执行你就不能执行,懂意思吧?然后再来看下边还有还有什么呀,这是不是又有一个缩进级别呀,这个缩进级别,这个缩进被谁管,被他对应的那个义父去管,也就是说我在缩进以后,里边我还可以继续缩进,那总之咱们举个例子是吧,假如说这个玩意儿是爷爷,那他就相信什么呀,他就相信爸爸,也就说爷爷是不是管着这个爸爸呀,再缩进这一层,相信谁了,相当于是那个儿子了,诶他被这个爸爸去管着。
19:41
懂这意思吧,如果里边还有那对不起,那他就是孙子,他就被这个什么呀管着,也就是说你每往里缩进一个层次就比上边低啊,每每往里缩一个层次就比上边多一级啊,所以注意我们的代码块,哎可是哎可以嵌套的哎每增加一个这个缩进的一个级别,哎,我们这个代码块干嘛呀?诶就低一级啊,就低一级,他就比别人低一等啊,他就被什么呀,被我们这个上一级别的管理啊,第一级这个好好的去理解一下啊,是可以签到的,但是现在又有问题了啊,我这执行的时候,执行是执行了,但是当我是一个负数的时候,是没有提示啊,哎,没有提示,那这个时候我可以再往后再加一个这个else else,然后我们这来一个print,哎,Print,哎,请输入一个合法的年龄,这样一保存再执行,我再来一个负一,是不是就有提示了,哎,就提示了啊。
20:41
要啊,但是这个时候你看这代码啊。一定要能区分出谁跟谁是一组的,这个if跟谁呀,跟这个L4是一组的,这个if跟谁呀,跟这个四是一组的,但是你说如果你这么写了走,你那注意这时候就有问题了,是不是变成他跟他一组的了,那这时候你再执行就该干嘛了,那就该报错了,为什么呀,这哥们找不着主了啊,他找不着主了,所以这时候一定要注意啊,当你的代码够复杂的时候,你这缩进一定要不要不要写错了啊,一定要把这缩进写清楚了啊,你一定要知道谁跟谁是一个级别的啊,谁跟是一级别的,这个代码好好看看啊,好好看看,好这是我们说的前三个练习,后边还有两个,大家先把上边这个写一下,下边两个练习我们稍后再说啊,我们先来停一下。
我来说两句