00:00
同学们大家好,欢迎大家来到Python编程语言系列课程,这节课我们来讲解数字数列,那么在这节课当中呢,我们要讲解range值函数的一个基本语法以及随机数的使用,通过这节课的学习,我们需要去掌握循环和run值函数的使用以及随机数的使用。好,那我们来到我们的教程当中。那么我们Python啊,在上节课去讲这个循环的时候呢,讲了否印循环,那复印循环呢,默认它是无法进行去向我们其他语言当中实现这种传统的否循环形式啊,传统这种负循环剂次循环的这种形式,那么复印循环呢,它的本意啊,就是用来进行去实现对迭代对象的,对可迭代对象的这种便利访问啊,那么如果我们实在想要去使用否近循环实现这种普通的否循环的这种近祀性循环方式,怎么实现呢?那这个时候Python啊就提供了这样一个函数叫做range函数,Range什么意思呢?就是范围,那么我们可以通过这个范围这个range函数来获取一个数字的数列啊,一个数字的数列,比如说我们要循环10次,那么我们就获取一个。
01:21
1啊到10的这样一个数列,那获取到了这个数列之后,我们就可以对这个数列进行去便利啊迭代,那么这样的话,我们就模拟了传统的这种循环的计次方式,那么这个数列呢,本质上它也是一个可迭代对象,那我们来看一下range这个函数啊如何进行使用,那range函数呢,用来去生成一个数整数序列。那么它是一个内置函数,通过指定我们的起始值,停止值和布长啊,那这个不长的概念我们在哪见过呢?其实在切片的时候我们接触过这三个参数,对吧?起始呢,停止了和补长,那么能够生成一个按指定规律进行递增或递减的一个整数序列啊,它只能生成一个整数序列,那么一般range函数我们通常的情况下都会配合着for印循环来进行去使用,那通过range函数和for印循环的配合,实现了我们传统的这种for循环的这种剂次循环的形式。
02:27
好,那么讲解这种组合配合使用之前,我们先来看看range值函数到底怎么去用它的格式呢?就是range值,然后这个起始值,一个默认值,然后呢,一个不长,那么起始值呢,它是个可选参数啊,我们表示它从哪开始,默认的情况下为0啊,计算机大多数情况下它的起始初值都是为0啊,0也是一个有效状态,那么stop呢,它是一个结束值。包含啊,这个表示啊,它是我们到哪结束,那么它是不包含在范围内的,比如说我们说要计算一个啊,来获取一个数列,那么到10,那这个时候呢,它只能获取到0~9这么10个数字,不包含这个10,那么不长的是可选参数,那这个可选参数默认值为1啊,不长默认为1什么意思?就是每次它的数列间隔是差值为1啊,差值为1,好,那么在这呢,我们去。
03:27
给出了这样几个事例,通过它呢,来进行去显示了一下啊,显示获取了这么几个数列,我们来一块通过代码来看一下,那现在呢,我们先讲一下range函数啊range函数。Range含的使用,那么DF我们写一个range。Range下游线info,好,那么在这里呢,我们先去获取一下啊,比如说我们的numbers等于一个range,那这个range函数呢,我们在这有个起始值,那起始值呢,我们显示的先写上这是0,然后呢,我们就写到10,然后呢,不长,可以默认不写啊,那么我们先去打印一下,看看这个numbers它是个啥玩意儿,对吧?呃,然后在这里呢,我们进行去调用一下,先写个程序入口,然后我们调用一下range info,那么运行看看。
04:18
运行之后,诶,这玩意儿它也不是个数列啊,对吧?哎,那它呢,Range值函数返回的时候就返回了这样一个形式,就告诉你它现在是一个数列,然后呢,从0开始到10结束,默认不长为1对吧,那我们实在想要看这个内容具体有哪些数值,那么这个时候呢,我们需要给它转换一下,给它转成列表啊,转成列表使用列表的构造方法,给它转换成列表,转换成列表之后,它就将。数列当中的每一个值作为列表中的元素展示出来,那我们这回再运行看看,它就得到了一个看0~9的这样一个范围,它是不包含10的啊,就不包含结束值的,那么同理,我们再来一个。
05:03
我说在这里我可以去改变它啊,这个可以省略,我们是可以省略初值,但是终值不能省略,因为初值默认可以为0开始对吧,终值你要不告诉他,他到哪结束呢?所以说我们默认给一个参数值的时候,它使用初值默认为0,然后给定了中值默认不长为1,那我们看它同样得到了一个0~9的这样一个数字数列啊啊,那么我们这个再来粘贴一下,那这个呢,他现在我给定了一个,比如说给个谁呢?给个5啊,给个5他不一定非得从0开始,我可以给另一个初值,那看他就得到了56789啊这么五个数字,那么我们还可以让他这样去做,那比如说在这里我让从0开始到10结束,然后步长为2啊,步长为2。不长为二是什么意思,我们来看它得到就是0248所有的偶数了,对吧?啊所有的偶数了,那如果说我想得到所有的奇数怎么办呢。哎,所有奇数怎么办呀,这个好像有点难度了,我们大家想一下,我这个如果想得到所有的奇数,哎,这个应该怎么去处理呢?对吧,我是控制不长呢,还是去设置什么东西呢。
06:14
大家可以想一下是吧,啊,给大家一点点思考时间。那我来公布一下答案,我还用不长为2,但是初值我让它为1。对吧,那这是不是就可以了,我们初值为0的时候,它不长为2得到的是偶数,那我让初值往后错一个,那是不是就刚好全是奇数序列对吧?啊,刚好全是奇数序列,那所以在这里要注意的是,当我们使用这种range值函数获取数列的时候,它的初值终值不长,这些都不是一成不变的啊,都不是一成不变的,我们可以让他来进行干什么呢?来进行去控制它,对吧,灵活的让它去使用好,那这个就是我们通过这个认知函数来获取了一个数列啊,那下面我们来看复印循环和range函数来结合使用,实现剂次循环那种形式,那么我们刚才说了,在其他语言当中,它的for用I形式呢?For,然后呢,I=0 I小于多少对吧?然后I再加它进行去做一个。
07:15
这样的一个累加运算啊,进行计次循环,那复印呢,其实实现不了这种操作,但是它和range制函数结合之后呢,能模拟出这种操作出来,那你的过程不就是I的这个值是吧?循环变量这个值在累加吗?对吧?哎,在不断的变化,那么我们可以在这里怎么办呢?在这儿进行去对这个数据进行去迭代,依次获取它里边的元素,然后进行去处理,那也能实现这种祭祀循环,但是要注意的是,如果我们现在啊,如果我们现在在这里写的时候,那么用到了range质循环,那么range制本身得到的这个结果就是个可迭代对象,它不需要去通过list转换了,当然转换之后也能用,但是没有必要做这一步,它本身就能可以使用风翼循环来精确便利啊好,那我们来看一下,那我们在这儿呢,进行确结合使用,那写一个for I in range range,谁呢,我写个10啊写个10好。
08:15
那么它就得到了一个range 0~10的这样一个数列,那我们在这打印一下这个I是吧?来打印一下这个I,然后我们看一下运行。得到了是不是0123456789对吧?啊依次取出来了,那你如果取出来之后有啥用呢?那比如说我们在这打印一下,我说打印一下二的,然后诶X次幂对吧,把二的X次幂,那这个打印出来看看是什么样的。一二四八十六,32 64 128 256 512,大家会发没发现这个数字好像都很熟悉啊,对吧?计算机当中2的多少次方对吧?哎,得到就是这样的一个值,好,那么我们在这儿呢有个示例,看一下这个小的实战练习,那么计算1~100之间的整数和啊,110~100之间的整数和,那如果用V循环很方便,我们知道怎么去写,那如果用负循环,这个怎么写呢?对吧?啊后in循环如果没有学range之前,这个是没法实现的啊,这是没法实现的,那么现在我们学了这个东西了,那现在就可以好办了,我们首先呢,先来写一个结果,等于既然是和,那它的初值应该是0,对吧?然后呢,负iin range值润值多少呢?在这一因为从0开,默认写个0也行,对吧,那我们在这写100行不行啊,写100,然后呢,在这我们写一个多少呢?写个result加等于。
09:41
它加加等于等于谁呢?加等于I,因为I不断在变化,对吧,它从零开始一直变到100,然后我们把它加起来,加完之后我们看一下这个结果伪造出来,那这个结果是多少?我相信大家口算都能算出来对吧?100的累加和5050啊,就是5050啊,那么我们在这运行一下,看看是不是这个结果。
10:03
哎。4950好像少了100,对方少了100,为什么这么是1~100吗?大家有没有看出问题来?刚才我在写这个地方地方的时候,就抛给大家一个问题啊,什么问题呢?我说写100行不行啊?对吧?写100行不行?为什么问这个问题?刚才我们说了range值函数在给定终止值的时候,它是不包含这个值的,那么你们发现刚好少100,是不是刚好就缺了最后的终止值100啊,对吧?如果你想计算1~100之间的力量和,那你的终值应该是101啊,101,好,那这时候我们再来看它是不是就是5050了,对吧?啊,5050了,那我们这个程序还可以再优化一下,因为它从0开始,0+0没有什么意义,是吧?啊,所以说我们在这呢,可以让它从一开始啊,让他从一开始到101,然后运行。变成5050对吧,啊变成5050 OK,那这个就是我们通过range函数结合负循环来进行去实现了普通的语言当中的这种负循环的祭祀循环便利形式,那下面呢,我们再来看另外一个知识点,叫随机数。
11:16
在我们程序开发过程当中,随机数是一个非常非常常用的知识点啊,我们经常会用到随机数来做一些事情,那么在Python当中也提供了随数,但是它要去使用一个叫做random这样一个模块啊,Random随机的这样一个模块里面有一个random int这样一个函数来获取随机数那。哦,这个我们写的写错了啊,这个呃,应该是run in,那这个函数怎么用啊,它是这样的,Run in呢,在这儿注意它是起始值和终值给了一个范围,那注意啊,在这写的是run in,这个函数就是我们当前这个函数run in,那这个函数在实现的时候呢,它是。给定了一个随机范围,它只能获取一个随机的整数啊,随机的整数,那么给定的起始范围和终止范围,那它和range值函数有区别,就在于它是包含这个终值范围的值的啊,那要使用之前我们去通过from import来导入一下啊这块啊写错了,这个from random里面导入谁呢?导入这个in range是不用导入的啊好。
12:24
那在这啊,应该是呃,写某些值的时候,在这替换啊,替换成了这个,呃,这个range值,所以说这出现呢,大家可以看一下这块都出现了问题了,对吧,那先参考我们实际代码来写啊,那我们现在来写一下DF这块写一个这是什么呢?这写一个呃叫实际啊这个随机数啊,随机数啊,那随机数呢,首先我们要在这里先导一个模块啊导入。导入随机数,随机数函数吧,那么from从从哪呢?从这个random这个模块当中import导入我们当前random in这个函数,好导完了,然后我们定义一个函数叫random randomfo啊,Random info,好,那现在写完之后。
13:14
我们去先生成一下啊,来生成下,看看这个运行几次,这个random info,那在这呢,我去打印一下啊,打印啥呢?我们在这写个N啊,或者叫number等于等于啥呢?等于的。Int啊run int我们是取一个简单的,比如说1逗号3啊逗号3,我取1~3之间的随机一个整数,为啥取这么小值呢?我们要验证一下,它是既能取到起始值,也能取到终值啊好,然后呢,我们在这把这个number打印一下啊,打印一下好,然后我们就调用一下这个函数,把这个注释掉,去掉干扰,那么我们在这呢,Run info,好,然后运行啊,大家看。第一次二要正好取了个随机的对吧?那我么下次再运行一下看看3好有这个值,我们就能知道终值是包含的对吧?那下一次看看来个1,哎没有,再来一个A1有呃,再来一个诶一出来了,好,那就是说明现在我们这个给定的范围,它是既包含初始值也包含结数值的,对吧?啊那这就是我们获取随机数的这样一个方法,那么比如说我们想获取1~10之间的任意一个随机整数,那么你就可以在这啊运想哎呦10哎还挺好,在这7对吧?哎,那它呢,是随机出现的这样一个值啊,就出现一个9,再来一次7对吧,好。
14:42
那这就是我们的随机数啊,随机函数它的一个使用,那要注意一下,就是在这里啊,我们这个再再强调一下,应该是替换的时候把这个run in变成了range了,那替换都替换错了,这个导入啊是有问题的。那下面呢,我们来看一下这个,呃,骰子游戏啊,这个骰子这个应该叫骰是骰子是投骰骰子骰子是吧?啊骰子游戏。
15:07
好,那么我们搜索一下啊。来搜一下这个这个字。骰子对吧?啊,好,把它关掉,我们回来说现在呢,从键盘输入一个数字啊,让程序随机生成一个1~6范围的这个数字比它小,啥意思呢?其实我们读色子更容易让人接受一点,就是我们现在一人有一个色子,我去输入一个,那我输入的时候摁的这个数字,那就是随机性很强了,对吧?我想摁几就摁几,那么程序呢,也生成一个随机数的一个范围,但骰子只有6个面啊,只有6个数对吧?啊,1~6,那么。现在我们用随机出来的这个程序的电脑的机器人的这个值和我们的值比较一下,看看谁大对吧?哎,来比较一下是平局了还是这个,这个你赢了还是这个,呃,电脑赢了啊,我们来实现一下这个失利。
16:11
好,那么首先呢,在这里面我们说啊,是实战练习啊练习。好,那在这呢,DF,我们写一个,呃,Play play game就是一个game吧啊。Sixport six这里啊6点游戏对吧?好,然后呢,我们在这写一下,那写一下呢,在这随机数这个啊,我们已经写完了,对吧?啊已经给它导入完了,那在这呢就不导入了,然后呢,我们在这儿首先呢,定义两个变量。首先啊,我们进去这样,呃,生成啊,生成一个随机数,随机数给给谁呢?给电脑啊给电脑,那电脑呢,我们叫boot啊,等于re int,然后给个谁呢?骰子的点数只有1~6对吧?啊1~6好,那这个6我们现在写完了,那下面再写一个play啊,这是玩家的。
17:11
玩家,那玩家呢,我们叫player啊,Player等于等于什么呢?等于一个T啊,我们得转换一下,因为它是纵串嘛,对吧,Input,然后呢,请请输入一个1~6之间的之间的点数啊点数好,那然后呢,我们在这写完,写完了之后,然后呢,我们精确判断啊判断判断的话,那if如果我们的clear的点数等于等于谁呢?等于boot的点数,那么我们在这打印一下平局啊平局平直,然后呢,点数点数为为谁呢?为这样一个东西,这个我们写一个随便写个谁对吧?在这写个boatt吧,点入它,那在这我们用了差值的方式,这地方是不是应该写一个F字符串对吧?好然后呢2F。
18:06
啊LF,那如果player大于啊大于大于大于port,那我们在这儿打印一下,还是一个X5串说呃,这个谁呢。写个玩家玩家,哎,来一个点。玩家都是点,然后呢这个机器人电脑啊电脑,然后呢在这儿boot。第二第二谁呢?玩家胜。玩家手。好,那在这呢,把这个玩家补上啊,差值clear。好,那如果不是这样的话,那我们再来看一下还有谁呢?啊,直接写个else就行了,就就剩最后一种情况了,对吧?Else else呢,我们在这把它复制一份,然后呢,粘过来这个电脑上。
19:09
啊,电脑上好,那现在我们这个程序就写完了啊,我们这个程序呢,就写完了,那写完了之后我们来看一下啊,来看一下那么运行啊,这对这是调用一下啊6点游戏是应该是21点啊,应该有三个色子,那在这呢,我们还是只有一个啊six point game那运行。我们现在并不知道我们这个电脑有多少点对吧?嗯,不知道,那我输入一个6吧,我就输入6,然后呢,运行,那我是6点电脑2点玩一下胜对吧?哎,那我现在玩把刺激的,当然这有个bug啊,我要一直输入6的话,那可能要么平局,要么就是我胜对吧,那我输入一个3。那现在呢,是这个电脑胜对吧,电脑上玩家3点电脑6点啊电脑胜,但这个程序啊,有个小问题,我输入个7啊,你永远赢不了我对吧,连平局都不会出现,那运行。
20:07
诶按7回车。玩家7点电脑一点,你这就是开挂了嘛,对吧?哎,你这就开挂了,所以说这个就有问题了,那这个有问题,我们说在这儿怎么把它修复一下啊,怎么在修复一下,那么在这里我们在获取这个数据的时候就要这样啊这样那怎么写呢?呃,输入一下这个数据,嗯,你看啊。嗯,在这我们之前这样写过,说在这输入完了这个数据之后呢,我们这样去判断一下,说如果。如果if,嗯,这这啊当啊使用well well什么呢?Well,如果player的这个点数啊,Well这个player的这个点数,它这个点数如果说大于啊,这个大于6啊,并且按的。你看啊,如果大于6或者这个或者啊或者谁呢?或者这个player的值小于0啊,小于0啊,小于1吧,啊小于1就不在,除了1~6之间的是吧,你不在这个范围内,如果说它这个是大于6的或者小于1的,那么我们在这打印一句话说输入的啊,输入的输入到什么呢?输入的这个值这个点数点数不正确。
21:24
不正确,那请输入正确的点数啊,请输入正确的点数,好,那我们再把这个重新复制回来一份,这个之前这种写法我们是不是写过呀,对吧,然后写过之后,如果它输入的是个6之间的,那这个条件不满足,他就不再进不去这个。这个循环输入了对吧,好,我们再运行一下看看,那运行我输入一个7。他告诉我,哎,你这个点数不对是吧,重新输入,我输入个8也不对,我输入个0,那它也不对,那我输入个5吧,啊我屈服了那5之后,他告诉我平局哦,平局了是吧,我这5,我这个点数是5,然后呢,电脑点数也是5,那平局了对吧,还平局了啊那这样的话,我们就把这段代码做了一个优化对吧,还做了一个优化,然后呢,注意在这儿再看他说将这个色子游戏啊,再完善一下,三局两胜啊,三局两胜,那这个怎么去做呢。
22:20
大家可以考虑一下如何进行去三局两胜呢?那首先呢,我们在。进行去要进行去做3次对吧?啊循环三次,那么我们在这要把整个这一过程全都给他怎么办?是不是给他全都给他进行去做一个这个。进行做一个这个封装对吧?啊做一个封装,那我们只做三局两胜这个事儿,那注意啊,在这因为我们学过函数了,我们去做,嗯,我看啊啊,那不能还还不能用这个,那在这直接写吧,写写一个什么呢?我们写一个这样的一个值写一个。
23:02
Clear平一样,Clear_V啊,Victor是吧?啊,它的这个数然后等于0啊,我们在这让它等于0,然后呢,Boot_V也让它等于零啊,然后等于零啊,等于零之后呢,那在这里面我们说定义了这两个用来记录剩词啊,用来用来记录圣词。那这两个变量记录圣次的话,那么下面还有一个变量呢,我们应该写个N,等于几呢?等于一个这个,呃,算了,我们不写这个N了,我们写个for in循环吧,For I in range range,然后呢,在这写几呢?写个三日型对吧?我们是不是在这说通过这种方式可以精确循环三次0123次,对吧?但是这个I啊,我们用不上啊,我们用不上,我们在这可以写个这个值,这个值之前在哪用过。是不是可以在这个叫呃匹配一句match的时候用过,说它呢,可以匹配任意一个值,对吧,其实它本质就是个变量,我们说现在在循环当中,如果我不用这个变量的话,那可以使用一个下划线来进行去匹配,它告诉你这个值不用,其实你可以直接用它的啊,可以直接打印这个下划线也能打印出数据,但是没有意义啊,我们在这儿它是没有意义的一个标志符,好了,现在写完之后,三局三局循环,那进来,我们在这儿把它整体向里推进一下,让它都作为我们整体的这个。
24:29
这个什么呢?那么作为我们当前的这个循环的内容对吧,循环内容,那么循环进来一次之后啊,然后这个啊,生成电脑这个我们要改一下,把它也得剪辑下来啊,它也得剪辑下来。剪切下来之后放到这里去,因为你去随机了,电脑也得随机一个呀,对吧,然后把它刚才没有包进来啊,把它也包进来,电脑随机一个,你随机一个,然后这个呢不动,还是保证你能随机出一个正确的1~6范围内的数字,然后判断,那判断完了之后啊,判断完了之后,那么在这要注意。
25:04
我们在这里呢。要去做这样一件事儿啊,要做这样一件事怎么事呢?如果它相等的话,那这个谁也不算啊,谁不加,那么我们把这个不能在这直接就判断谁胜谁负了,对吧?啊,如果它大于它呢,我们把这句话给它剪切下来,放到呃,算了,我把它注释掉吧,啊注释掉就原来的代码是这样的,我们注释掉,那在这儿呢,如果是玩家胜的话,那么玩家play v他应该却加等于1对吧,还加等于1,那么如果说你在这。如果是电脑剩了对吧,那在这呢,V啊boot v boot v,然后呢,加等于1啊加等于1好,那现在这个写完了之后啊,这个写完了之后,那么我们现在只是加完1减完一了,到底谁胜了呀。对吧?哎,到底谁胜了呢?那么在循环完成之后啊,在循环完成之后,我们是不是在这儿循环完了,我们先去打印一下看看啊打印一下谁呢?打印一下player,哎,Player v和boot v,我们先打印一下这两个值来看一下运行,那在这我写个。
26:14
452好程序能正常结束,那现在奎是两次,这是零四,你现在有这两个值了,那你说你能不能判断出谁赢谁输了对吧?哎,那我们来写一下。上面的循环呢,只用来统计次数,那在这呢,我们来进行去判断。啊,判断输赢。啊啊判断啊,因为。N啊输赢好,那怎么判断呢?说如果F啊f player啊player,那么V大于啊大于大于谁呢?大于不投币,那在这呢,我们就说谁呢,在这儿就说这个,呃,用直接打印这句话吧。
27:00
啊,直接在这儿我们去打印这句话,把它注释去掉,然后呢,把它推上来好,那玩家呢几次,玩家这块是几次,那这块写的是player v啊写它的次数,然后电脑呢几次呢,电脑在这不TV啊几次。然后玩家胜对吧?啊,这是玩家胜好了,那么剩下的情况我们是直接写else还是写LIS,大家想一下。我们应该写哪一个?Else,那就是电脑胜呗,是吧,但是有没有这种情况,因为我们的平局的时候谁也没加,那然后呢,第一次平局,第二次一人赢一次,那他是不是相等1和1啊,那这个时候我们就能判定他是平局的对吧,三局两胜呢,三局这里面没有一个人出现2他就是平局的,那我们看看,那就这样写,如果play是吧,小于boot v啊play v啊play v,那小于不TV,那我们在这呢,哎就把它粘过来,那这回呢,变成了电脑声。
28:10
电脑声好,那最后啊,最后else,他才有这个情况,这个情况呢,那平局写上平局啊平局好,那现在写完之后,我们来运行一下看看,在这我输入一个,呃55,诶5好,那这次玩家我就输了三次5居然还赢了两次,对吧,让他再运行一次看看能不能平局啊,这个不太好,蒙五五。哇,赢了3次,那再来一次啊4。四四,哎,平局啊4。点数为4啊,那在这呢,我们说嗯这个啊,嗯在这呢,就谁也不加这一句呢,它在这打印了一句话,这句我们可以优化一下,把它给注释掉,那在这呢,直接去打印一下什么呢?这个在这直接记录一下,比如说这个clear。
29:05
V,然后呢,嗯,等于。呃,如果是平局的话。我看啊,这个还不能等于,嗯。那我们可以把这段代码优化一下啊,是就算了,直接在这写吧,我们直接写个pass占个位得了啊,直接这个占位吧,那我们可以把这个代码优化一下呢,就是平局的话什么都不做,就只判断这个啊,只判断这点,或者说我把这段代码我们复制一下啊,复制一下然后注释掉,我把上面代码留着啊,大家可以看的时候比较方便一点,那我在这留着这个怎么写呢?我们直接在这就不要这个了啊,不要这个了,那这个就变成if啊,如果它是这样的话,那么它就是大于它的,那l if,如果clear。V,然后啊,Clear<boot啊小于boot,那么这个时候呢,让boot+1,然后其他的情况我们不变对吧?哎,不变就是平局那个事我们不管了,它就是0啊平局这个事我们不管,它就是0,好,那这样的话我们再运行一次。
30:13
这其实就是我们学测试的目的,对吧?你运行过程当中,那你输入不同的数据,它可能有不同的结果,那我们测出来刚才写的代码有一丝丝逻辑上的问题,就是不应该打印这句话对吧?啊,那我们把优化一下代码之后,更简单了,就判断两个条件就行,平局不记次,所以说不管它,那我们还是555。呀,我看看就不能,哎呀,咱们玩一下吧,我就看看它能不能出现一个平局的次数,在这再运行一下,然后2。哎呀,还是我用这,我今天运气爆棚啊。啊,电脑赢了一次。哎呀,电脑又有一次最后一次啊。
31:00
啊,还是电脑赢了两次,那在这儿呢,我就不往下试了,大家有兴趣的话可以在课下的时候试一下,那要注意的是在这儿我们再梳理一下这个逻辑来看,首先呢,循环3次啊,负循环一定会循环3次,那么三次呢,进来先给电脑随机一个值,然后呢,我们用户输入一个值,这句这段代码可以忽略不计,它的主要作用就是用来给我们当前电脑的这个用户玩家输入数据的时候,保证它的范围的,是吧,保证它的输入的正确性的,那这块呢,可以忽略不计,只要我们在范围内,它就不会执行它,那下面呢来判断说,如果玩家大于。电脑,那么就玩家的次数加一对吧,那如果玩家小于电脑呢?那就电脑次数加1,就这两种情况能加一,如果是平局,平局谁也不能加对吧,因为平局了,那咱俩一人赢一次,然后最后一次平局,那你说谁赢了,但就是平局对吧?所以说平局这个事儿我们没有去处理,他就压根不用写这段代码了。
32:00
因为你不能进行去做负值,说等于0,你要等于0那就不对了,对吧?哈,等于0就不对,你就把前一次人家那值给抹掉了,比如说啊,玩家先赢了一次啊,玩家先赢了一次,然后第二次平局,你要说让player=0的话是吧,那不相当于现在大家这个这个原来我赢那次白赢了嘛,对吧?所以说在这儿呢,除非两次啊,你把两个人全都给他磨成0啊,那其实也不太公平,所以说在这儿呢,压根儿我们不考虑这段代码就可以了,是吧?诶免得这个出现奇异,我就说玩家赢了我就玩家加一,那电脑赢了就电脑加一,好那么经过三次循环之后,我们通过基触能知道它的次数了,那次数之后呢,在这儿如果玩家赢了,对吧?哎,玩家的次数大于机器的次数,那么我们就说玩家声,如果是玩家的次数小于电脑的次数,那就电脑上,那最后如果这两种情况都完成条件,它就是平局,那么通过这段代码啊,我们把之前学过的循环判断,然后输入输出。
33:01
类型转换对吧?啊变量等等这些我们都进行了做了一个练习啊,做了一个小的综合练习,OK,那么这个就是我们的数字数列,那么在这节课当中,我们主要要去掌握range函数,它获取一个数字数列的一个使用方式,那么以及range函数和复印循环进行去匹配,实现循环的时候啊,如何进行去使用,那么第二个呢,就是随机数的一个使用,那么我们这两个通过这两个函数呢,来进行去使用的过程当中,让大家去。给大家带着大家实现了一个骰子的一个小游戏啊,直大小比大小的这样一个小游戏,好,那么关于这节课的内容啊,我们就讲到这里,我们下节课再见。
我来说两句