Python流程控制语句

一、选择结构(if语句)

1、if语句的结构:

if <条件1>:
<语句1>
elif <条件2>:
<语句2>
else:
<语句3>

此时,条件1成立时执行语句1,;条件2成立时执行语句2;条件1和条件2都不成立时执行语句3。

实例:

x = int(input("请输入您的总分:"))
if x >= 90:
print '优'
elif x>=80:
print '良'
elif x >= 70:
print '中'
elif x >= 60:
print '合格'
else:
print '不合格'

需要注意的是:在使用多个elif语句的分支结构时,应把握好多个条件语句之间的关系。只要有一个条件成立,就会将其后的语句执行,执行后退出整个if语句。

实例:

x = int(input("请输入您的总分:"))
if x >= 90:
print '优'
elif x>=80:
print '良'
elif x >= 60:
print '合格'
elif x >= 70:
print '中'
else:
print '不合格'

此时程序中的print '中' 语句永远不会执行,因为当输入[70,80)这个区间的数时先判断x>=60成立,则执行其后的语句并输出合格,之后退出if语句。

2、三元运算符

if语句可以使用在一个单语句中,实现三元运算符,基本形式:<表达式1> if <条件> else <表达式2>

>>> b = 4 if a > 1 else 6
>>> b
6
>>> b = 4 if a == 1 else 6
>>> b
4
>>>

3、if语句的嵌套

if<条件>:
if<条件>:
<语句1>
elif<条件>:
<语句2>:
else:
<语句3>

编写条件语句时,应该尽量避免使用嵌套语句。嵌套语句不便于阅读,而且可能会忽略一些可能性。

二、for循环语句

1、for语句的结构:

Python语言中的for语句与其他高级程序设计语言有很大的不同,其他高级语言for语句要用循环控制变量来控制循环。Python中for语句是通过循环遍历某一序列对象(字符串、列表、元组等)来构建循环,循环结束的条件就是对象被遍历完成。

for语句的形式如下:

for <循环变量> in <循环对象>:
<语句1>
else:
<语句2>

else语句中的语句2只有循环正常退出(遍历完所有遍历对象中的值)时执行。
实例:

for num in range(10,20):
for i in range(2,num):
if num % i == 0:
j = num/i
print "%d等于%d*%d" % (num,i,j)
break
else:
print "%d是一个质数" % num)

2、range()函数

  for语句的循环对象可以是列表、元组以及字符串,可以通过range()函数产生一个迭代值,以完成计数循环。

range( [start,] stop [, step])

实例:

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

for语句使用range()函数可以构建基于已知循环次数的循环程序,也可以以range()生成的数字作为索引来访问列表、元组、字符串中的值。

3、xrange()函数

xrange() 函数和range() 的用法完全相同,但是返回的是一个生成器, 并不是在调用时一次生成整个序列,而是遍历一次才产生一个值。要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用。

如:

>>> range(10)
range(10)
>>> type(xrange(10))
<class'xrange'>

三、while循环语句

for语句以遍历对象的方式构造循环,有时却需要构造一种类似无限循环的程序控制结构或某种不确定运行次数的循环,就需要使用while语句

1、while语句结构:

while语句的基本形式如下:

  while<条件>:
   <语句1>
  else:
  <语句2>

与for循环不同的是,while语句只有在测试条件为假时才会停止。

实例:

count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"

四、break语句、continue语句、pass语句

break语句用在while和for循环中,break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
  
continue语句用在while和for循环中,continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。 continue 语句跳出本次循环,而break跳出整个循环。

pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

posted @ 2017-07-23 15:40  wshenJin  阅读(267)  评论(0)    收藏  举报