欢迎回来｡
我们来做个有趣的小练习｡
我们刚被一家游戏公司雇佣, 我们正在制作这个向导游戏｡
这个向导游戏在用户的个人资料中有一个is magician, 现在我们把它设为false｡
我们也有是｡
专家｡
以及该用户是否是该游戏的专家｡
我们暂时将其保留为true｡
然后就｡
嗯嗯嗯
我们走吧｡
我们就在这里吧｡
我要你检查是否两者都有或者检查是否｡
魔术师｡
也是专家｡
如果是这样的话, 如果是真的, 那么我希望你打印｡
你是个魔术大师｡
还有, 我要你检查一下｡
如果｡
魔术师｡
但不是专家｡
如果是这样的话, 我只想打印｡
至少你快到了｡
最后, 让我们做一个检查, 如果你不是一个魔术师｡
我想说｡
你需要魔力｡
现在, 我希望你们使用所学的关于逻辑运算符的知识来创建这个条件逻辑｡
你可以暂停视频, 如果你想和尝试它自己在一个涟漪｡
否则, 我会继续找答案｡
但是如果你一直在看视频和练习的话, 你应该可以很容易地解决这个问题｡
所以让我们从第一个开始, 我们说你是一个大师级的魔术师｡
所以我会说如果｡
既是专家又是魔术师｡
我要打印｡
你是个魔术大师, 所以我要复制一下, 然后说打印｡
你是个魔术大师｡
这里没什么太疯狂的｡
然后下一个, 我会说｡
如果或者我甚至可以说我如果如果我想｡
再说一次, 这是你可以决定你喜欢的东西｡
我通常喜欢用l if, 如果它和这里的第一个是同一个概念的一部分｡
是的, 我们, 我们还在试图找出是什么类型的用户｡
所以我们用live, 如果我们想检查它是不是魔术师, 我们会说L｡
原来是魔术师｡
我们来检验一下这是不是真的
但我们也要查｡
如果｡
不是专家｡
现在, 我们该怎么做？
我的意思是, 我们可以说使用短路和说是专家｡
而且就算这是假的｡
我们可以在这里实现, 因为作为魔术师, 短路和打印这一部分, 至少你做到了｡
因为有趣的是, 如果这两个条件都为真, 那么这个代码块就不会运行,
因为在第一个if代码块中, 我们会检查它, 一旦条件为真, 我们就会完全忽略LF｡
所以我们可以这么做｡
但这有点难读, 因为我真的得好好想想｡
如果我回到代码或者其他人看了我的代码, 就不清楚了,
除非我评论说我在检查它是魔术师而不是专家｡
因为这永远不会运行｡
如果魔术师是假的, 那就是他们要查的｡
我知道说出来都有点让人困惑｡
所以我更喜欢用这样的东西｡
用与不用｡
这样读起来好多了, 对吧？
这这这这就说得通了｡
嘿, 如果这个人是个专家和魔术师, 就这么做吧｡
否则, 如果这个人是魔术师, 而不是专家, 那么打印这个｡
读起来不错｡
是的, 你可以这样做, 因为记住, 而不是简单地检查和反转布尔表达式｡
因此, 这仍然会评估为和可以检查的布林值｡
好吧, 我会的
让我们完成最后一个｡
如果你不是魔术师, 你需要魔法｡
那么我们在这里怎么检查呢？
我们可以再做一个L if然后说not is.
魔术师｡
如果我像这样运行它, 然后说, 打印, 我们就在这里复制, 你需要魔法｡
现在我们先删除注释, 这样我们就可以看到代码块｡
我们要测试我们的程序｡
希望我们编码正确｡
希望没有窃听器｡
但让我们来看看｡
如果我运行这个｡
你需要魔力｡
为什么会这样呢？
好吧, 我知道了
如果魔术师是假的, 这些都不会起作用｡
如果我将其更改为true并单击“运行”, 会怎样？
好吧, 我会的
我是一个大师级的魔术师, 因为我是一个专家以及魔术师｡
如果我将其设置为false并单击“运行”, 会怎样？
嘿, 至少你快到了｡
我是个魔术师, 但还不是专家｡
我还在｡
我还需要改进我的游戏性｡
现在, 你可能得到了一个与我不同的答案, 有很多方法可以做到这一点｡
您可以使用L语句｡
您可以使用或条件逻辑来撰写不仅对您有意义, 而且对其他阅读您程式码的人也有意义的程式码｡
这个想法并不是要非常聪明或真正担心短路｡
是的, 它可以更有性能, 但是一台机器是如此强大,
当你失去可读性的时候, 仅仅是一点点的优化通常是不值得的｡
因此, 您需要确保代码读起来像英语｡
坦率地说, 这是一个很多初学程序员很难理解的话题,
他们试图尽可能聪明, 在尽可能短的行中写尽可能少的代码, 而你却想把重点放在可读性上｡
因为一个容易理解的代码是一个好的开发人员的标志｡
我希望看到这个, 你会想, 是的, 这很简单｡
我的意思是, 这一切都说得通, 但这不是唯一的办法｡
也许我对读起来好的东西的看法和你的不一样｡
我们每个人的想法是, 尽我们最大的努力使我们的代码简单和漂亮, 在编程中没有一个正确的答案｡
解决一个问题的方法有很多, 但关键是要用一种简单易懂的方式来解决｡
我希望你玩得开心, 我们下一场见｡