python 判断数组下标1 python判断在不在数组中_while循环


上节课的课后练习做的如何了?是不是发现和猜数字在编程思路和使用的语法上很像。废话不多说,直接上代码,参照自己之前写的做比较,看看有什么异同。另外,有一些知识点会通过本次的代码作讲解。


import


一、确认目标

玩家和电脑猜拳,玩家手动输入,电脑随机生成。三局两胜,每局输出结果,三局结束后根据总分输出最终结果。

二、分析过程

random模块完成从列表中随机选取石头、剪刀、布。if条件判断语句用于判断胜负,for循环用于多次判断。创建两个变量分别对玩家和电脑计分,最后用if语句对总分做判断。总体来说都是学过的知识,唯一没学过的用random模块从列表中随机选取元素,也可以通过百度查找到。

三、代码实现

调用random模块,使用random.choice(list)随机选取列表中的元素。先看第一段代码和注释。


import


将石头、剪刀、布这3个元素放入列表list中,然后将random.choice(list)随机生成的值赋给变量option。再接着往下看。

先忽略【while True】,直接看for循环。【print('----------第%d局----------' % (i+1))】中%d的作用是展示一个整数,这个整数的值是从左往右数第二个%右侧的(i+1)的值。除了这种表述还可以写成【print('----------第'+str(i+1)+'局----------')】,编写代码时可根据习惯自行选择。

之所以讲到这个知识是因为如果一行中有多个变量,或者变量中包含整数、浮点数和字符串时,用第一种表达方式会更加简单。看下面这个例子:


print


打印结果是【小明是一名18岁的男青年,口袋里只有2.99元。】。其中%s代表的是字符串‘小明’的值,%d代表的是整数18的值,%f代表后面浮点数2.99的值,写成%0.2f是为了保留两位小数。


while


上面代码是对输入的值进行验证,避免由于该值不在列表list中而造成程序报错。

然后通过条件判断语句if来对双方的胜负进行判断,注意判断条件的完整性。【player = player + 1】和【computer = computer + 1】是对玩家胜利和电脑胜利时总分进行增加,为后面根据总分判断最终的胜者做准备。

对于比赛最终结果的判断是运用条件判断语句if,对循环3次后的player和computer的值做比较。这个不再赘述。最后还需要说明下面这段代码:


while


这一段是用一个while循环将猜拳的循环包裹起来,目的是判断是否跳出循环,判断依据是手动输入的值是否为n。如果是n,执行break语句,跳出while循环。如果不是n,while循环继续,while循环的子句中的for循环执行。

到这里代码就完成了,这两节练习课就是把之前讲的关于python的基础知识串联一遍。之后是关于python的进阶学习,下一讲的内容是函数。