Day04杰克船长海上寻宝
杰克船长驾驶邮轮要去海上寻找宝藏,有三组海马列在其面前能为其带路,杰克船长可以通过判断选择其中一组。第一组只有一只公海马,它只开出一个条件(格式一:if …)。第二组有一只公海马和一只母海马,两者各开出一个平等条件(格式二:if … else …)。第三组为多只公海马和一只母海马,分等级排列,从上到下依次开出条件,满足一个即可(格式三:
①
if 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
elif 条件表达式3:
语句块3
…
else:
语句块n
②)。
杰克船长选择了第二组,满足了其条件。于是,于是海马带着船长和邮轮来到了一个梯田样式的海中瀑布边(循环结构:分类:while、for … in …),海马告诉船长,这下面有很多金币,你可以拿,但要遵守规则,最多只能拿10个。我先给你1个金币(①.初始化条件(执行一次)),你开着船到第二层去,那里有个白胡子老头(②.循环条件(可能执行一次或多次) ),他会检查你的金币,如果达到10个,你就不能再下去了。你下去后有可能会再次遇到公海马和母海马,他们会向你提各种条件和要求,你满足后按照他说的去做就行了(④循环体(可能执行0次或多次))。到海底后,你每次只能拿1个金币(③.迭代条件(可能执行0次或多次) ),拿到后,在海底部墙上写上你的名字和拿到的财富,弹簧板会把你弹到白胡子老头那里,他会再次检查你的金币,你如此循环往复,最后拿到10个金币后,就可以通过海底隧道离开了。但是如果你太贪心欺骗白胡子老头的话,每次都拿出10个以下的金币,你就会进入死循环,那就只有break闸刀能救你了(无限循环(死循环):无限循环是非常占用系统资源的,我们是需要避免的;但是如果它一旦配合break等关键字使用,就会变得有意义;格式:while True:循环体),但是那样的话,你就永远拿不到送给母海马的礼物。
杰克船长听了海马的指示,顺利通过白胡子老头那里,进入深海,他还在海中发现了两个非常神奇的宝贝,一个是七彩魔方(random模块的初体验: import random
第二步:通过模块名.函数完成需求 random.randint(m,n) 作用:randint(m,n)函数,返回一个[m,n]的随机整数值),另一个是时间停止器(第一步:导入time模块 import time第二步:通过模块名.函数完成需求 time.sleep(sec)作用:sleep(sec)函数,程序一旦执行到sleep(sec)函数位置,会立即休眠sec秒,等到时间到了,自动醒过来,往下继续执行)。七彩魔方能自动转出你心里想要的数字,时间停止器能让世界休眠。杰克船长把他们放到口袋里。
杰克船长继续往下,果然又碰到了公海马,这个公海马在一个转笼的上方,它会向你提问题,如果你答对的话,转笼就会把你从底部再次转到海马面前,继续回答问题。如果你答错了,就可以顺利通过转笼底部的小门离开。杰克船长被转了两次后也顺利通过(对于continue而言: 如果在执行村换的过程中,遇到了continue关键字,那么程序立即结束当次循环,开始下一次循环)。
接着,杰克又遇到一个海马,他的脾气非常暴躁,如果你回答正确的话,他就直接关闭闸刀,你就永远不能继续往下了(对于break而言: 如果在执行循环的过程中,遇到了break关键字,那么程序立即结束当前循环)。杰克小心翼翼完美避过了正确答案。顺利通过。
接下来,杰克遇到了一只母海马,她告诉杰克还好你通过了上面的那只脾气暴躁的海马,不然你就见不到我了。我也不为难你,出个简单的问题,让你过去好啦(.else语句配合循环使用:特点:如果循环是正常执行完毕,那么else中的代码一定会被执行;如果循环是由于break关键字而强行终止,那么else中的代码就不会被执行;)。杰克喜不自胜。
最后,杰克顺利拿到了10枚金币,返回岸边时,遇到了女警察(bool),她检查船上的容器,如果里面什么也没有,她就不允许杰克上岸(bool():总结:
1).对于数值型数据进行bool()的转换:除了0,0.0返回False,其余全部为True
2).对于容器类型只要有内容(有元素),结果就为True,反之,为False
3).对于None值转换,结果为False
使用场景:
对于流程控制语句中经常出现
)。杰克给女警察展示金币,最后成功上岸!
09-03
833
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)