习题 33: While 循环?

接下来是一个更在你意料之外的概念: while-loop``(while 循环)。``while-loop 会一直执行它下面的代码片段,直到它对应的布尔表达式为 False 时才会停下来。

等等,你还能跟得上这些术语吧?如果你的某一行是以 : (冒号, colon)结尾,那就意味着接下来的内容是一个新的代码片段,新的代码片段是需要被缩进的。只有将代码用这样的方式格式化,Python 才能知道你的目的。如果你不太明白这一点,就回去看看“if 语句”和“函数”的章节,直到你明白为止。

接下来的练习将训练你的大脑去阅读这些结构化的代码。这和我们将布尔表达式烧录到你的大脑中的过程有点类似。

回到 while 循环,它所作的和 if 语句类似,也是去检查一个布尔表达式的真假,不一样的是它下面的代码片段不是只被执行一次,而是执行完后再调回到 while 所在的位置,如此重复进行,直到 while 表达式为 False 为止。

While 循环有一个问题,那就是有时它会永不结束。如果你的目的是循环到宇宙毁灭为止,时时彩计划软件公式:那这样也挺好的,不过其他的情况下你的循环总需要有一个结束点。

为了避免这样的问题,你需要遵循下面的规定:

  1. 尽量少用 while-loop,大部分时候 for-loop 是更好的选择。
  2. 重复检查你的 while 语句,确定你测试的布尔表达式最终会变成 False
  3. 如果不确定,就在 while-loop 的结尾打印出你要测试的值。看看它的变化。

在这节练习中,你将通过上面的三样事情学会 while-loop

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
i = 0
numbers = []

while i < 6:
    print "At the top i is %d" % i
    numbers.append(i)

    i = i + 1
    print "Numbers now: ", numbers
    print "At the bottom i is %d" % i


print "The numbers: "

for num in numbers:
    print num

你应该看到的结果?

$ python ex33.py
At the top i is 0
Numbers now:  [0]
At the bottom i is 1
At the top i is 1
Numbers now:  [0, 1]
At the bottom i is 2
At the top i is 2
Numbers now:  [0, 1, 2]
At the bottom i is 3
At the top i is 3
Numbers now:  [0, 1, 2, 3]
At the bottom i is 4
At the top i is 4
Numbers now:  [0, 1, 2, 3, 4]
At the bottom i is 5
At the top i is 5
Numbers now:  [0, 1, 2, 3, 4, 5]
At the bottom i is 6
The numbers: 
0
1
2
3
4
5

加分习题?

  1. 将这个 while 循环改成一个函数,将测试条件(i < 6)中的 6 换成一个变量。
  2. 使用这个函数重写你的脚本,并用不同的数字进行测试。
  3. 为函数添加另外一个参数,这个参数用来定义第 8 行的加值 + 1 ,这样你就可以让它任意加值了。
  4. 再使用该函数重写一遍这个脚本。看看效果如何。
  5. 接下来使用 for-looprange 把这个脚本再写一遍。你还需要中间的加值操作吗?如果你不去掉它,会有什么样的结果?

很有可能你会碰到程序跑着停不下来了,这时你只要按着 CTRL 再敲 c (CTRL-c),这样程序就会中断下来了。

Project Versions

Table Of Contents

Previous topic

习题 32: 循环和列表

Next topic

习题 34: 访问列表的元素

This Page

江西时时彩平台皇恩娱乐 江西时时彩的预测软件 时时彩做号 重庆时时彩过年开奖 江西时时彩追号怎么追
时时彩后一投注技巧 2020时时彩平台总代 江西时时彩遗漏软件 重庆时时彩最稳定玩法 网站可以推广时时彩的
时时彩怎么找漏洞 重庆时时彩规律破解 博众时时彩软件 开时时彩平台怎么赚钱 重庆时时彩专家预测号
时时彩平台制作 江西时时彩手机计划软件 重庆时时彩彩票软件 时时彩能赚钱吗 时时彩计划软件手机端
安徽快三一定牛走势图 nba比分直播 北京赛车pk10开奖 一定牛安徽快三开奖结果 新疆福彩25选7第7开奖
吉林十一选五任选五码 江苏体彩11选5 辽宁11选5规律 11选5技巧稳赚公式 牛牛棋牌游戏
加拿大幸运28预测 11选5漏洞赚千万 青海11选5开奖查询 牛牛射在线 全本小说免费下载
双色球开奖结果 吉林11选5彩票通软件 江苏快三预测号码推荐 重庆时时彩软件 五福彩票