verilog if后必须要有else吗_CoCo知识贴 | 在CodeCombat学Python第8课条件语句if(下)...

大家好呀!我是CoCo老师,欢迎大家来到CodeCombat编程世界。很开心我们一起在CodeCombat学Python,今天是第八课,我们继续学习条件语句if。

eab44d737da07002b3ddde63681bb230.png

一、今日词汇

大家都知道,Python语句都是由英语单词组成的,为了方便大家学习,我们先来看看会用到的单词吧。就是下面这些,你都认识吗?

英语单词

中文意思

if

如果

else

另外

condition

情况,状况

cleave

劈砍

enemy

敌人

distance

距离

 1838d7626d3f60e47e19df509a01e6c3.png

二、今日句法

学完了单词,是不是迫不及待要闯关了呀。快点打开我们的学习网站koudashijie.com,登录进入课程页面,打开计算机科学2课程,进入地图,地图长下面这样:

a82e5e32e84ba06de48dbd8e683e563a.png 上次我们一起闯了计算机科学2的第5关林地小屋, 我们也学会了最简单的if语句,if语句和 while语句有些像,当满足某些条件时就会执行: 后缩进了的代码块,如果不满足条件就不执行,而它与while的区别是whi le会反复检查条件直到条件失败,但if仅仅检查一次,然后就继续执行后面的代码了。 如果对if语句还有疑问可以查看我们关卡的提示:

a0a4d6c3cbf732552230e19e7230200e.png

那按这么说,if语句不就和while+break的效果一样了吗?如果我们执行一次while语句就跳出循环,它不就是一个if语句吗?为什么要多定义一个if而不使用while呢?我们来看下一关,第11关:

eae7db9ae5b2d4b5fcf2e9a1ab1aab52.png

  • 查看目标:村民不能死,消灭食人魔。

  • 分析思路:如果我们运行一次代码就会发现我们打完左边的敌人后等右边敌人出现了就来不及回去保护村民了,所以我们应该尽可能待在村民的身边,同时有敌人时出发迎击。这时候我们可以写:如果有敌人,攻击敌人。如果没有敌人,待在村民身边。但两次如果有点啰嗦,因为他们总是相反的,这样,或者那样。这时候else就起作用啦,我们来看看代码:

a36e36444e2422e3e2852305abbd538d.png

  • 编写代码:我们看到else语句和if是并列的,同时它也带有:结尾,它后面的代码也有缩进,所以else和if就整整齐齐了。那么我们在第七行补充攻击代码,11行补充回村民身边的代码就可以了(感谢村民不乱跑)。

c20d6c062e4eb6db7415e9f9bf9b6d85.png

有任何不明白的地方可以继续查看提示哦~ 那么最后我们来看if的最后一种扩展方式。第19关,发狂的矮人。

d64afa8c06ca83f0cff1fae152376117.png

  • 查看目标:打开宝箱,保持存活

  • 分析思路:刚刚我们提到,当情况是这样或那样的时候,我们用if/else来处理,那么我们就会想到,如果情况是这样,这样或者那样呢?也就是如果我们有两种以上的情况,不仅仅正反两面,而是更多种情况下,我们应该怎么办呢?当然我们还是可以使用很多很多的if来完成目标,但python给我们提供了另外一个很方便的语句:elif

  • 编写代码:我们发现elif和if还有else依然是整整齐齐的一家人,细心点的同学可能已经发现elif就是else+if的简写,也就是虽然我们已经离开了第一种情况,但我们这时又需要再判断一次其他条件,在这关里就是判断敌人是否已经靠近你了,我们看看这一次的代码应该怎么写吧:

因为我们给英雄设置了比较严格的攻击条件,所以更多时候英雄会先按照else对宝箱进行攻击,这可以保证我们尽快完成打开宝箱这个目标,而劈砍这个技能因为比较强,我们可以优先使用,每当可以使用时就使用一次。最后,只攻击比较近的敌人,离得远的就让他们多活一会儿吧~ 总结一下,我们今天学习了 if … elif … else 这个语句,其中 elif 和 else 都不是必须的,同时elif可以出现无穷多次,而else在一个if语句中只会出现一次,因为它包含了“其他所有情况”,所以不会再出现“另外的情况”了。 if语句使我们可以很方便地按照我们自己的思路去执行不同的代码,试想一下,我们自己玩游戏乃至平时生活的时候,是不是也经常根据不同的情况去做不同的选择呢?比如如果是周一到周五就要早起去学校,周末就可以睡懒觉玩游戏。如果作业没写完就要努力写作业,不然就可以放心地做其他事。等等等等,if语句就是赋予我们在代码中完成这些可能性的魔法了。

三、总结交流

今天的课上完了,你还记得今天学了什么吗?不记得的话可能看看下面三张知识卡片回忆一下~

b904d958dd4052c878b395f6e52dea67.png

1745c0f577165c588201a3f10eeebe95.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值