习题 32: 循环和列表?

现在你应该有能力写更有趣的程序出来了。如果你能一直跟得上,你应该已经看出将“if 语句”和“布尔表达式”结合起来可以让程序作出一些智能化的事情。

然而,我们的程序还需要能很快地完成重复的事情。这节习题中我们将使用 for-loop (for 循环)来创建和打印出各种各样的列表。在做的过程中,你会逐渐明白它们是怎么回事。现在我不会告诉你,你需要自己找到答案。

在你开始使用 for 循环之前,你需要在某个位置存放循环的结果。最好的方法是使用列表(list),顾名思义,它就是一个按顺序存放东西的容器。列表并不复杂,你只是要学习一点新的语法。首先我们看看如何创建列表:

hairs = ['brown', 'blond', 'red']
eyes = ['brown', 'blue', 'green']
weights = [1, 2, 3, 4]

你要做的是以 [ (左方括号)开头“打开”列表,然后写下你要放入列表的东西,用逗号隔开,就跟函数的参数一样,最后你需要用 ] (右方括号)结束右方括号的定义。然后 Python 接收这个列表以及里边所有的内容,时时彩计划软件公式:将其赋给一个变量。

Warning

对于不会编程的人来说这是一个难点。习惯性思维告诉你的大脑大地是平的。记得上一个练习中的 if 语句嵌套吧,你可能觉得要理解它有些难度,因为生活中一般人不会去像这样的问题,但这样的问题在编程中几乎到处都是。你会看到一个函数调用另外一个包含 if 语句的函数,其中又有嵌套列表的列表。如果你看到这样的东西一时无法弄懂,就用纸笔记下来,手动分割下去,直到弄懂为止。

现在我们将使用循环创建一些列表,然后将它们打印出来。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
the_count = [1, 2, 3, 4, 5]
fruits = ['apples', 'oranges', 'pears', 'apricots']
change = [1, 'pennies', 2, 'dimes', 3, 'quarters']

# this first kind of for-loop goes through a list
for number in the_count:
    print "This is count %d" % number

# same as above
for fruit in fruits:
    print "A fruit of type: %s" % fruit

# also we can go through mixed lists too
# notice we have to use %r since we don't know what's in it
for i in change:
    print "I got %r" % i

# we can also build lists, first start with an empty one
elements = []

# then use the range function to do 0 to 5 counts
for i in range(0, 6):
    print "Adding %d to the list." % i
    # append is a function that lists understand
    elements.append(i)

# now we can print them out too
for i in elements:
    print "Element was: %d" % i

你应该看到的结果?

$ python ex32.py
This is count 1
This is count 2
This is count 3
This is count 4
This is count 5
A fruit of type: apples
A fruit of type: oranges
A fruit of type: pears
A fruit of type: apricots
I got 1
I got 'pennies'
I got 2
I got 'dimes'
I got 3
I got 'quarters'
Adding 0 to the list.
Adding 1 to the list.
Adding 2 to the list.
Adding 3 to the list.
Adding 4 to the list.
Adding 5 to the list.
Element was: 0
Element was: 1
Element was: 2
Element was: 3
Element was: 4
Element was: 5
$

加分习题?

  1. 注意一下 range 的用法。查一下 range 函数并理解它。
  2. 在第 22 行,你可以可以直接将 elements 赋值为 range(0,6),而无需使用 for 循环?
  3. 在 Python 文档中找到关于列表的内容,仔细阅读以下,除了 append 以外列表还支持哪些操作?

Project Versions

Table Of Contents

Previous topic

习题 31: 作出决定

Next topic

习题 33: While 循环

This Page

重庆时时彩买什么赚钱 时时彩软件怎么用 时时彩软件大龙虾 金诺时时彩软件v9.9 重庆时时彩开奖走势图
时时彩不定位毒胆技巧 时时彩奖金1980元平台 做时时彩代理怎么提成 时时彩杀对码 天游时时彩
重庆时时彩黑彩 内蒙古时时彩历史号码比较器 江苏时时彩平台开发 红树林时时彩真的吗 破解时时彩神器下载
时时彩推广方式 时时彩后一三码计划 优乐娱乐时时彩平台 网上玩时时彩怎么量刑 入侵网站改时时彩骗局
北京11选5直三 彩票22选5开奖查询 香港赛马会网址 平刷王北京赛车 贵州快3预测出号分析
三公游戏19119存10送20 七乐彩65期开奖结果 北京赛车pk10直播23 天天彩选4开奖 广西快3
幸运28论坛 河北11选5基本走势图 包邮 超级兵王txt下载 北京赛车pk10搜狐
广西快三号码预测 北京pk10赛车新闻网站 在线炸金花 时时彩开奖结果 贵州11选5结果