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

Python条件循环

时间:2016-01-01 15:01:37      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

if语句:

if

elif

else:

Python中if语句的一半表现形式:

1 if p_1:
2     print(is 1)
3 elif p_2:
4     print(is 2)
5 else:
6     print(is 3)

如果条件满足p_1将会输出is 1,如果条件不满足p_1满足p_2的话将会输出is 2,如果以上两个条件都不满足的话将会执行第三个结果is 3,所以if的关键语句为:if  elif  else。

注意:

  • 每个条件后面都要使用冒号:,表示接下来满足条件后要执行的语句块。
  • 使用缩进来划分语句块,相同缩进数的语句组成一个语句块。
  • 在Python中没有switch-case语句。

实例:猜数字

 1 #!/usr/bin/env python
 2 #_*_ coding:utf-8 _*_
 3 __author__ = zhangkai
 4 
 5 age = 5   #变量设置年龄的值
 6 while True: #循环
 7     age = int(input(请猜测狗的年龄:))    #int是输入转换成数字类型
 8     if age < 5:
 9         print(你输入的年龄太小了!)
10     elif age >5:
11         print(你输入的年龄太大了!)
12     else:
13         print(恭喜你猜对了!)
14         exit()  #退出系统

执行结果:

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zhangkai/PycharmProjects/Oldboy12_3.5/day01/test.py
请猜测狗的年龄:1
你输入的年龄太小了!
请猜测狗的年龄:2
你输入的年龄太小了!
请猜测狗的年龄:6
你输入的年龄太大了!
请猜测狗的年龄:5  #猜对了之后退出
恭喜你猜对了!

Process finished with exit code 0

循环

Python中的循环语句有for和while。

Python循环语句的控制结构图:

技术分享

while 循环

Python中while语句的一般形式:

while 判断条件:
    statements

同样注意冒号和缩进,另外,在python中没有do..while循环

实例:用while循环求1-100的和:

#!/usr/bin/env python
#_*_ coding:utf-8 _*_
__author__ = zhangkai
n = 100 #变量
sum = 0
counter = 1
while counter <=n:
    sum += counter
    counter +=1
print("1-100之和为:",sum)

运行结果:

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zhangkai/PycharmProjects/Oldboy12_3.5/day01/test.py
1-100之和为: 5050

Process finished with exit code 0

for语句

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

for循环的一般格式如下:

for <变量> in <序列>:
    <声明>
else:
    <声明>

python loop循环实例:

1 >>> a = ["C", "C++", "Perl", "Python"]
2 >>> for i in a:
3 ...     print(i)
4 ... 
5 C
6 C++
7 Perl
8 Python
9 >>> 

break语句用于跳出当前循环体:

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

执行脚本后,先循环判断条件C是不是在列表中,找到之后向下走看到break就直接跳出了本次的循环然后走到了“呵呵”,结果如下:

/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zhangkai/PycharmProjects/Oldboy12_3.5/day01/test.py
列表中包含C
呵呵

Process finished with exit code 0

range()函数

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

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

也可以指定range区间的值:

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

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

>>> for i in range(0,10,3):
...  print(i)
... 
0
3
6
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()函数创建一个列表:

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

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

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

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

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

 1 #!/usr/bin/env python
 2 #_*_ coding:utf-8 _*_
 3 __author__ = zhangkai
 4 for n in range(2,10):
 5     for x in range(2,n):
 6         if n % x == 0:
 7             print(n,equals,x,*,n//x)
 8             break
 9     else:  #循环没有找到的数字
10         print(n,is a prime number)
11 #结果
12 /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 /Users/zhangkai/PycharmProjects/Oldboy12_3.5/day01/test.py
13 2 is a prime number
14 3 is a prime number
15 4 equals 2 * 2
16 5 is a prime number
17 6 equals 2 * 3
18 7 is a prime number
19 8 equals 2 * 4
20 9 equals 3 * 3
21 
22 Process finished with exit code 0

pass语句

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

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

最小的类:

>>> class haha:
...     pass

 

Python条件循环

标签:

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

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