习题 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

重庆时时彩内部人卖号 老时时彩平台 重庆时时彩不出号 时时彩一条龙7xwl 时时彩开奖号码059
博彩 三分时时彩开奖走势图 时时彩黑网 时时彩五星定位胆杀号 时时彩五码交流群
178时时彩平台黑钱吗 江西时时彩012走势 99彩票注册 江西11选5彩经网 杏彩时时彩平台代理
老重庆时时彩登录网址 奇妙3.0破解版 博彩之星官网 百万富翁时时彩软件 时时彩软件手机免费版
喜乐彩中5个号中奖多少 幸运农场走势图 江西快三彩票 幸运飞艇开奖计划 山东群英会视频
北京赛车pk10开奖直播众购网 吉林11选5 前2 pk10论坛交流区 25选7开奖结果查询 足彩比分直播500
吉林十一选五中奖规则 安徽快3开奖结累 黑龙江1快乐十分 码报资料图生肖2017 pk10官网
新十一选五走势图?永州四中公认的校花?体彩所有31选7开奖结果?福建快三开奖结果 青海11选5玩法 甘肃十一选五开将结果 2017年打麻将财神方位 山西体彩网