Python 条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 14:13
-
# @file :login.py
-
-
-
import getpass
-
-
usrname = raw_input("please input your name ")
-
passwd = getpass.getpass("password:")
-
-
if usrname == 'tom' and passwd == '123':
-
print 'Login successful'
-
else:
-
print 'Login fail'
演示结果
-
C:\Users\Administrator\PycharmProjects\s14\day8>python login.py
-
please input your name tom
-
password:
-
Login successful
-
-
# 故意输错密码
-
-
C:\Users\Administrator\PycharmProjects\s14\day8>python login.py
-
please input your name tom
-
password:
-
Login fail
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
由于python并不支持 switch 语句,所以当判断条件为多个值时,可以使用以下形式:
实例演示如下:
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 14:31
-
# @file :grade.py
-
-
-
number = int(raw_input("please input 0-100: "))
-
if number >= 90:
-
print "优秀"
-
elif number >= 80:
-
print "好"
-
elif number >= 70:
-
print "良"
-
elif number >= 60:
-
print "及格"
-
else:
-
print "你要努力了!"
演示结果:
please input 0-100: 50
你要努力了!
please input 0-100: 76
良
Python 循环语句
本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。
编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:
Python提供了for循环和while循环(在Python中没有do..while循环):
循环类型
|
描述
|
|
在给定的判断条件为 true 时执行循环体,否则退出循环体。
|
|
重复执行语句
|
|
你可以在while循环体中嵌套for循环
|
循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
控制语句
|
描述
|
|
在语句块执行过程中终止循环,并且跳出整个循环
|
|
在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
|
|
pass是空语句,是为了保持程序结构的完整性。
|
以下是实例演示:
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 14:57
-
# @file :while1.py
-
-
-
sum100 = 0
-
counter = 1
-
while counter <=100:
-
sum100 += counter
-
counter +=1
-
-
print "1+2+3+...+100 = %s" % sum100
运行结果:
1+2+3+...+100 = 5050
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 15:04
-
# @file :while2.py
-
-
# continue 和 break 用法
-
i = 1
-
while i < 10:
-
i += 1
-
if i % 2 > 0: # 非双数时跳过输出
-
continue
-
print i, # 输出双数2、4、6、8、10
-
-
print ("\n")
-
print ('*' * 20)
-
-
i = 1
-
while 1: # 循环条件为1必定成立
-
print i, # 输出1~10
-
i += 1
-
if i > 10: # 当i大于10时跳出循环
-
break
运行结果如下:
2 4 6 8 10
********************
1 2 3 4 5 6 7 8 9 10
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。 语法:
for循环的语法格式如下:
for iterating_var in sequence: statements(s)
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 15:27
-
# @file :for.py
-
-
# 第一个实例
-
for number in '123456':
-
print '当前数字 :', number
-
-
# 第二个实例
-
-
tools = ['ship', 'bike', 'plane']
-
for tool in tools:
-
print '当前交通工具 :', tool
-
-
print "Good bye!"
运行结果:
当前数字 : 1
当前
数字 : 2
当前
数字 : 3
当前
数字 : 4
当前
数字: 5
当前
数字 : 6
当前交通工具 : ship
当前交通工具 : bike
当前交通工具 : plane
Good bye!
另外一种执行循环的遍历方式是通过索引,如下实例:
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 15:33
-
# @file :for1.py
-
-
tools = ['plane', 'bike', 'ship']
-
for index in range(len(tools)):
-
print '当前交通工具 :', tools[index]
-
-
print "Good bye!"
以下是运行结果:
当前交通工具 : plane
当前交通工具 : bike
当前交通工具 : ship
Good bye!
Python 语言允许在一个循环体里面嵌入另一个循环。
Python for 循环嵌套语法:
Python while 循环嵌套语法:
你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 15:42
-
# @file :for2.py
-
-
num=[];
-
i=2
-
for i in range(2,100):
-
j=2
-
for j in range(2,i):
-
if(i % j == 0):
-
break
-
else:
-
num.append(i)
-
print(num)
-
-
print ('bye......')
以下是运行结果:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
bye......
range和xrange的不同
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
range示例:
代码如下:
>>>a = range(0,10)
>>>print type(a)
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(1,5)
[1, 2, 3, 4]
>>> range(0,6,2)
[0, 2, 4]
xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。
xrange示例:
代码如下:
>>>a = xrange(0,10)
>>>print type(a)
>>> xrange(5)
xrange(5)
>>> list(xrange(5))
[0, 1, 2, 3, 4]
>>> xrange(1,5)
xrange(1, 5)
>>> list(xrange(1,5))
[1, 2, 3, 4]
>>> xrange(0,6,2)
xrange(0, 6, 2)
>>> list(xrange(0,6,2))
[0, 2, 4]
由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用:
实例:
-
#!/usr/bin/env python
-
# -*- coding:utf-8 -*-
-
# Author :Alvin.xie
-
# @Time :2017-10-25 15:48
-
# @file :for4.py
-
-
-
sum1 = 0
-
for i in range(1,101):
-
sum1 += i
-
print sum1
-
-
print '#'*20
-
-
sum2 = 0
-
for k in xrange(1,101):
-
sum2 += k
-
print sum2
运行结果:
5050
####################
5050
阅读(1482) | 评论(0) | 转发(0) |