习题 32: 循环和列表 ************************* 现在你应该有能力写更有趣的程序出来了。如果你能一直跟得上,你应该已经看出\ 将“if 语句”和“布尔表达式”结合起来可以让程序作出一些智能化的事情。 然而,我们的程序还需要能很快地完成重复的事情。这节习题中我们将使用 ``for-loop`` (for 循环)来创建和打印出各种各样的列表。在做的过程中,你会逐渐明白它们是怎么\ 回事。现在我不会告诉你,你需要自己找到答案。 在你开始使用 for 循环之前,你需要在某个位置存放循环的结果。最好的方法是使用列表(list),\ 顾名思义,它就是一个按顺序存放东西的容器。列表并不复杂,你只是要学习\ 一点新的语法。首先我们看看如何创建列表: .. code-block:: python hairs = ['brown', 'blond', 'red'] eyes = ['brown', 'blue', 'green'] weights = [1, 2, 3, 4] 你要做的是以 ``[`` (左方括号)开头“打开”列表,然后写下你要放入列表的东西,\ 用逗号隔开,就跟函数的参数一样,最后你需要用 ``]`` (右方括号)结束右方括号\ 的定义。然后 Python 接收这个列表以及里边所有的内容,将其赋给一个变量。 .. warning:: 对于不会编程的人来说这是一个难点。习惯性思维告诉你的大脑大地是平的。\ 记得上一个练习中的 if 语句嵌套吧,你可能觉得要理解它有些难度,因为\ 生活中一般人不会去像这样的问题,但这样的问题在编程中几乎到处都是。你会看到\ 一个函数调用另外一个包含 if 语句的函数,其中又有嵌套列表的列表。如果你看到\ 这样的东西一时无法弄懂,就用纸笔记下来,手动分割下去,直到弄懂为止。 现在我们将使用循环创建一些列表,然后将它们打印出来。 .. literalinclude:: ex/ex32.py :linenos: 你应该看到的结果 =================== .. literalinclude:: ex/ex32.txt :language: console 加分习题 ============ 1. 注意一下 ``range`` 的用法。查一下 ``range`` 函数并理解它。 2. 在第 22 行,你可以可以直接将 elements 赋值为 range(0,6),而无需使用 for 循环? 3. 在 Python 文档中找到关于列表的内容,仔细阅读以下,除了 ``append`` 以外列表还\ 支持哪些操作?