码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础篇【第四篇】:循环语句

时间:2016-05-01 19:15:43      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:

循环语句包含:while和for语句

while循环

whil循环的表达式:

while 判断条件:
(这里统一四个空格)语句

一定要注意缩进和判断条件后面的冒号!

例如用while计算1-100的和:

 1 #!/usr/bin/env python3
 2 
 3 a = 100
 4 b = 0
 5 counter = 1
 6 
 7 while counter <= a:
 8     b = b + counter
 9     counter += 1
10 print(b)

运算结果:

1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/循环/while.py
2 5050
3 
4 Process finished with exit code 0

for语句

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

for循环的格式:

1 for <变量> in <序列>:
2     <声明>
3 else:
4     <声明>

在循环中跳出break:

 1 #!/usr/bin/env python3
 2 
 3 a = ["C", "C++", "Perl", "Python"]
 4 for i in a:
 5      if i == C:
 6          print(列表中包含C)
 7          break   #跳出本次循环
 8      print(干的漂亮~)
 9 else:
10      print(列表中没有C)
11 print(呵呵)

运行结果:

1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/循环/while.py
2 列表中包含C
3 呵呵
4 
5 Process finished with exit code 0

range()函数

如果你需要遍历数字列表,可以使用内置函数range()。他会生成数列:

1 >>> for i in range(5):
2 ...  print(i)
3 ... 
4 0
5 1
6 2
7 3
8 4

也可以指定range区间的值:

1 >>> for i in range(5,9):
2 ...  print(i)
3 ... 
4 5
5 6
6 7
7 8

也可以用range指定数字开始并指定不同的增量(甚至可以是负数;有时这也叫做步长)

1 >>> for i in range(0,10,3):
2 ...  print(i)
3 ... 
4 0
5 3
6 6
7 9

也可以结合range()和len()函数遍历一个序列的索引:

 1 >>> a = [Mary, had, a, little, lamb]
 2 >>> for i in range(len(a)):
 3 ...     print(i,a[1])
 4 ... 
 5 0 had
 6 1 had
 7 2 had
 8 3 had
 9 4 had
10 >>> for i in range(len(a)):
11 ...     print(i,a[i])
12 ... 
13 0 Mary
14 1 had
15 2 a
16 3 little
17 4 lamb

用range()函数创建一个列表:

1 >>> list(range(5))
2 [0, 1, 2, 3, 4]

brea和continue语句及循环中的else子语句

break语句可以跳出for和while的循环体。如果你从for或while循环中终止,任何对应的循环else块将不执行。

continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

循环语句可以有else子句;它在穷尽列表(以for循环)或条件变为假(以while循环)循环终止时被执行,但循环被break终止时不执行.如下查寻质数的循环例子:

1 for i in range(2,10):
2     for x in range(2,i):
3         if i % x == 0:
4             print(i,equals,x,*,i//x)
5             break
6 else:
7      print(i,is a prime number)

运行结果:

1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/循环/while.py
2 4 equals 2 * 2
3 6 equals 2 * 3
4 8 equals 2 * 4
5 9 equals 3 * 3
6 9 is a prime number
7 
8 Process finished with exit code 0

pass语句

pass语句什么都不做。它只在语法上需要一条语句但程序不需要任何操作时使用.例如:

1 >>> while True:
2 ...     pass  #如果回车还会一直在等待状态
3 ... 

enumrate

为可迭代的对象添加序号:

1 li = [haha,hehe,asd,124]
2 for k,v in enumerate(li,1):     #1表示从一开始添加序号
3     print(k,v)

运行结果:

1 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zk/PycharmProjects/old_boy/day02/循环/while.py
2 1 haha
3 2 hehe
4 3 asd
5 4 124
6 
7 Process finished with exit code 0

 

*在Python3.x中xrange已经没了,range相当于python2.x中的xrange

Python基础篇【第四篇】:循环语句

标签:

原文地址:http://www.cnblogs.com/allan-king/p/5450880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!