内容简介:python3 第七章 - 循环语句
为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。
Python中的循环语句有
- for
- while
循环语句的执行过程,如下图:
while 循环
Python中while语句的一般形式:
while 判断条件:
语句
以上语法的执行过程是:
当 条件 为 True, 执行 语句块1 的语句
当 条件 为 False ,执行 语句块2 的语句
我们用while做一件:计算1-100所有数字的总和:
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("1 到 ", n, " 之和是:", sum)
以上代码,输出:
1 到 100 之和是: 5050
有没有发现,用程序去做一些事,还是比较省心的,未来的世界是“机器的”,“智能的”,扯得有点远了。假如,我们的的循环语句是恒定为True的,那会出现什么情况
while 2 > 1: # 表达式永远为 true
name = input('请输入您的名字:')
print("您好 ", name)
print("Good bye!")
以上代码,输出:
请输入您的名字:roy 您好 roy 请输入您的名字:
你应该也发现了,程序会一直不断的要求你输入名字,程序在无限循环(又称死循环)。
while也可以搭配else来用,当 条件 为 false 时执行 else 的语句块:
while 判断条件:
语句1
else:
语句2
代码实例:
count = 0
while count < 5:
print(count, " 小于 5")
count = count + 1
else:
print(count, " 大于或等于 5")
以上代码,输出:
0 小于 5 1 小于 5 2 小于 5 3 小于 5 4 小于 5 5 大于或等于 5
for 循环
基本语法:
for 变量 in 序列:
语句块
以上语法的执行过程是:
依次从 序列 中取一个元素,然后赋值给 变量 ,并执行 语句块 ,直到 序列 的所有元素都被赋过值。这一点,很像其它语言中的foreach。
代码实例:
languages = ["C", "C++", "Perl", "Python"]
for x in languages:
print(x)
以上代码,输出:
C C++ Perl Python
for也可以搭配else来用,当序列中所有值被赋值过一次后,执行 else 的语句块,语法如下:
for 变量 in 序列:
语句块1
else:
语句块2
实例
languages = ["C", "C++", "Perl", "Python"]
for x in languages:
print(x)
else:
print('这里是else')
以上代码,输出:
C C++ Perl Python 这里是else
range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
for i in range(5):
print(i)
以上代码,输出:
你也可以使用range指定区间的值:
for i in range(5, 9):
print(i)
以上代码输出:
也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做“步长”):
for i in range(0, 10, 3):
print(i)
以上代码,输出:
来个负数的:
for i in range(-1, -10, -3):
print(i)
以上代码,输出:
-1 -4 -7
break
在循环中,break语句可以提前退出循环。例如,本来要循环打印1~5的数字:
n = 1
while n <= 5:
print(n)
n = n + 1
print('END')
以上代码,输出:
1 2 3 4 5 END
如果我们希望,当n=3的时候就退出循环,我们可以这么做:
n = 1
while n <= 5:
if n == 3:
break
print(n)
n = n + 1
print('END')
以上代码,输出:
1 2 END
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。 实例如下:
n = 1
while n <= 5:
if n == 3:
break
print(n)
n = n + 1
else:
print('ELSE')
print('END')
以上代码,输出:
1 2 END
continue
在循环过程中,也可以通过continue语句,跳过当前循环块中的剩余语句,然后继续进行下一轮循环。同样本来要循环打印1~5的数字,但我想当n=3时,不打印:
1 n = 1
2
3 while n <= 5:
4
5 if n == 3:
6 n = n + 1
7 continue
8 print(n)
9 n = n + 1
10
11 print('END')
以上代码,输出:
1 2 4 5 END
思考,如果将第6行代码 n = n + 1 删除会出现什么现象,为什么?
continue只会终止当前这次的循环,不会终止怎么个循环所以else语句将会继续执行:
n = 1
while n <= 5:
if n == 3:
n = n + 1
continue
print(n)
n = n + 1
else:
print('ELSE')
print('END')
以上代码,输出:
1 2 4 5 ELSE END
注:
- break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。
- 要特别注意,不要滥用break和continue语句。break和continue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到break和continue语句。上面的例子,都可以通过改写循环条件或者修改循环逻辑,去掉break和continue语句, 请自行尝试改写一下 。
思考:如何打印1~100的奇数。
pass 语句
pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句,如下实例:
while True:
pass
再来看下面的代码:
n = 1
while n <= 5:
if n == 3:
pass
print('执行 pass 块')
print(n)
n = n + 1
print('END')
以上代码,输出:
1 2 执行 pass 块 3 4 5 END
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 006.Python循环语句while循环
- 007.Python循环语句while循环嵌套
- Python 循环语句
- Python While 循环语句
- Python for 循环语句
- 顺序、条件、循环语句的底层解释
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning Google Maps API 3
Gabriel Svennerberg / Apress / 2010-07-27 / $39.99
This book is about the next generation of the Google Maps API. It will provide the reader with the skills and knowledge necessary to incorporate Google Maps v3 on web pages in both desktop and mobile ......一起来看看 《Beginning Google Maps API 3》 这本书的介绍吧!