首页 > 技术文章 > Python基础语法03-控制流

ranjiewen 2017-01-17 11:04 原文

Python 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句……
else
    执行语句……

    其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。  

Python 循环语句

本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:

loop_architecture

Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型描述
while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体。
for 循环 重复执行语句
嵌套循环 你可以在while循环体中嵌套for循环

 

循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

 

控制语句描述
break 语句 在语句块执行过程中终止循环,并且跳出整个循环
continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句 pass是空语句,是为了保持程序结构的完整性。

 

循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

Python for 循环语句

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

语法:

for循环的语法格式如下:

for iterating_var in sequence:
   statements(s)

流程图:

python_for_loop

通过序列索引迭代

另外一种执行循环的遍历方式是通过索引.

Python 循环嵌套

Python 语言允许在一个循环体里面嵌入另一个循环。

 

Python break 语句

Python break语句,就像在C语言中,打破了最小封闭for或while循环。

break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。

break语句用在while和for循环中。

如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

Python continue 语句

Python continue 语句跳出本次循环,而break跳出整个循环。

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

continue语句用在while和for循环中。

Python pass 语句

Python pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

# coding: utf-8

#python 条件语句

flag = False
name = 'jiewen'
if name=='python':
    flag=True
    print "welcome boss"
else:
    print name

num = 5
if num == 3:
    print "boss"
elif num == 2:
    print "user"
elif num == 1:
    print "worker"
elif num<0:
    print "error"
else:
    print "roadman"

#if 语句多个条件
if num >= 0 and num <=10:
    print 'hello'
else:
    print "undefine"
if (num>=0 and num<=5) or (num>=5 and num <= 15):
    print "hello"
else:
    print "undefine"

var = 100
if var==100: print "var 的值为100 "
print "Good bye!"

#python 循环语句
count = 0
while count < 9:
    print "the count is :",count
    count+=1
print "Good bye!"

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

# flag=1
# while (flag):print "hello world."

for letter in 'python':
    print '当前字母:',letter

fruits=['banana','apple','mango']
for fruit in fruits:
    print '当前字母:',fruit
#通过序列索引迭代
fruits=['banana','apple','mango']
for index in range(len(fruits)):
    print '当前水果是:',fruits[index]
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 num,'是一个质数'


#以下实例使用了嵌套循环输出2~100之间的素数
i=2
while i<100 :
    j=2
    while j<=(i/j):
        if not(i%j):
            break
        j+=1
    if  j>i/j:
        print i,'是素数'
    i+=1
print "Good bye!"


# coding: utf-8

#python break语句
for letter in 'python':
if letter == 'h':
break
print 'Current Letter:',letter

var = 10
while var>0:
print 'Current Variable value:',var
var = var -1
if var==5:
break
print "Good bye!"

#python continue 语句
for letter in 'python':
if letter=='h':
continue
print '当前字母:',letter

var=10
while var>0 :
var=var-1
if var==5:
continue
print '当前变量值:',var
print 'Good bye!'

#python pass语句
for letter in 'python':
if letter =='h':
pass
print '这是pass块'
print '当前字母:',letter

print 'Good bye!'
 

 

推荐阅读