第7章:如果声明


要学习的最终核心编程控制流构造是条件语句( ifif/else )。

基本条件

一个 if/else 当且仅当提供时,语句执行“if”代码块测试对于程序到达该语句时的世界状况是正确的。否则,程序将执行“ else”代码块。

if 测试 :
如果是代码块
其他


否则代码块

为了了解条件语句可能会派上用场,让我们编写一个让Karel反转一行锥体 s的程序。如果一个正方形以前有一个锥体 ,则Karel应该选择它。如果一个正方形没有锥体 ,则Karel应该放下一个。

注意一个 if 声明不需要有 else 块-在这种情况下,该语句像 while 只执行一次的循环:

if 测试 :
如果是代码块

条件

最后一个例子使用了一个新条件。以下列出了卡雷尔所知道的所有条件:

测试相反它检查什么
front_is_clear() front_is_blocked() 卡雷尔面前有墙吗?
锥体() 目前没有锥体() 这个拐角处有锥体吗?
左边很清楚() 左被挡() 卡雷尔左边有墙吗?
权利很明确() 权利被封锁() Karel有没有墙?
锥体_s() 袋中没有锥体_s() 卡雷尔的包里有锥体吗?
朝北() 不朝北() 卡雷尔面向北方吗?
朝南() 不向南() 卡雷尔面向南方?
朝东() 不面向东方() 卡雷尔面向东方吗?
朝西() 不向西() 卡雷尔面向西方?

把它们放在一起

恭喜!您现在知道了所有核心编程控制流模块。当您通过Karel学习它们时,方法,while循环,for循环,if / else语句在几乎所有主要语言(包括Python)中的工作方式都相同。

现在您已经拥有了构建块,您可以将它们组合在一起,为更复杂的问题构建解决方案。在很大程度上,编程是通过计算机解决问题的科学。由于问题通常很困难,因此解决方案以及实施这些解决方案的程序也很困难。为了使您更容易开发这些解决方案,您需要采用一种方法和规程,将复杂程度降低到可管理的规模。


下一章