python流程控制

计算机程序在解决某个具体问题时,包括三种情形,即顺序执行全部的语句、选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的     三种程序执行结构流程:顺序结构、选择结构和循环结构。python

事实证实,任何一个能用计算机解决的问题,只要应用这三种基本结构来写出的程序都能解决。Python语言固然也具备这三种基本结构linux

一、IF 选择结构语句express

{windows

简单分支语句数组


if 判断条件:app

执行语句1……less

else:ide

执行语句2……函数

  此时,条件1成立时执行语句1,;条件2成立时执行语句2ui

name = 'luren'

if name == 'python':         # 判断变量否为'python' | name == 'python' ### 字符串的比较

print 'welcome boss'    # 并输出欢迎信息

else:

print name              # 条件不成立时输出变量名称

   

 多个分支结构:


if 判断条件:

执行语句1……

elif:

执行语句2……

else:

执行语句3……

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


x = int(raw_input("请输入您的总分:"))

if x >= 90:

   print('优')

elif x>=80:

     print('良')

elif x >= 70:

    print('中')

elif x >= 60:

    print('合格')

else:

      print('不合格')


if语句多个条件

num = 9

if num >= 0 and num <= 10:    # 判断值是否在0~10之间

print 'hello'

>>> hello # 输出结果

num = 10

if num < 0 or num > 10:    # 判断值是否在小于0或大于10

print 'hello'

else:

print 'undefine'

>>> undefine # 输出结果

num = 8

# 判断值是否在0~5或者10~15之间

if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    

print 'hello'

else:

print 'undefine'

嵌套条件语句

     if<条件>:

          if<条件>:

               <语句1>

          elif<条件>:

               <语句2>:

     else:

          <语句3>

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


}


二、while 循环语句

{

在给定的判断条件为 true 时执行循环体,不然退出循环体

count = 0

while (count < 9):

print 'The count is:', count

count = count + 1

print "Good bye!"

循环使用 else 语句

count = 0

while count < 5:

print count, " is  less than 5"

count = count + 1

else:

print count, " is not less than 5"

while True:

xxxx


嵌套循环 你能够在while循环体中嵌套for/while循环


while expression:

   while expression:

      statement(s)

   statement(s)



i = 2

while(i < 100):

   j = 2

   while(j <= (i/j)):

      if not(i%j): break

      j = j + 1

   if (j > i/j) : print i, " 是素数"

   i = i + 1


print "Good bye!"

}


三、for 循环语句

{


python 中 for 语句结构是在一个序列上遍历

words = ['cat', 'windows', 'linux']

for w in words:

print w, len(w)



重复执行语句

fruits = ['banana', 'apple',  'mango']

for index in range(len(fruits)):

   print '当前水果 :', fruits[index]

 

print "Good bye!"


循环使用 else 语句 , else能够用于for循环,当循环天然终止,即没有被break停止时,会执行else下的语句

for num in range(10,20):  # 迭代 10 到 20 之间的数字

   for i in range(2,num): # 根据因子迭代

    if num%i == 0:      # 肯定第一个因子

      j=num/i          # 计算第二个因子

        print '%d 等于 %d * %d' % (num,i,j)

          break            # 跳出当前循环

  else:                  # 循环的 else 部分

      print num, '是一个质数'

}


四、enumrate

{

使用内置 enumerate 函数进行遍历:

for index, item in enumerate(sequence):

    process(index, item)


>>> sequence = [12, 34, 34, 23, 45, 76, 89]

>>> for i, j in enumerate(sequence):

...     print i,j

... 

0 12

1 34

2 34

3 23

4 45

5 76

6 89



}

五、三元运算符

{ 

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


}

六、循环控制语句


{


break 语句 在语句块执行过程当中终止循环,而且跳出整个循环

continue 语句 在语句块执行过程当中终止当前循环,跳出该次循环,执行下一次循环。

pass 语句 pass是空语句,是为了保持程序结构的完整性,用于须要一个语句以符合语法,但又什么都不须要作时, 也能够用于写一个空函数


>>> for n in range (2,10):

...     for x in range (2,n):

...         if n % x == 0:

...            print n, 'equals', x, '*', n/x

...            break

...     else:

...         print n, 'is a prime number'

... 

2 is a prime number

3 is a prime number

4 equals 2 * 2

5 is a prime number

6 equals 2 * 3

7 is a prime number

8 equals 2 * 4

9 equals 3 * 3

}


break 和 continue 语句,循环时使用else,else能够用于for循环,当循环天然终止,即没有被break停止时,会执行else下的语句


>>> for n in range (2,10):

...     for x in range (2,n):

...         if n % x == 0:

...            print n, 'equals', x, '*', n/x

...            break

...     else:

...         print n, 'is a prime number'

... 

2 is a prime number

3 is a prime number

4 equals 2 * 2

5 is a prime number

6 equals 2 * 3

7 is a prime number

8 equals 2 * 4

9 equals 3 * 3


 break 和 continue 语句,循环时使用else, else能够用于for循环,当循环天然终止,即没有被break停止时,会执行else下的语句


>>> for n in range (2,10):

...     for x in range (2,n):

...         if n % x == 0:

...            print n, 'equals', x, '*', n/x

...            break

...     else:

...         print n, 'is a prime number'

... 

2 is a prime number

3 is a prime number

4 equals 2 * 2

5 is a prime number

6 equals 2 * 3

7 is a prime number

8 equals 2 * 4

9 equals 3 * 3





}


七、xrange,range

{

若是须要迭代一个数字序列的话,能够使用range()函数,range()函数能够生成等差级数,

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

>>> range (5) 

[0, 1, 2, 3, 4]

>>> range (2,5)

[2, 3, 4]

>>> range (5,10,1)

[5, 6, 7, 8, 9]

>>> range (5,10,2)

[5, 7, 9]

>>> range (5,10,3)

[5, 8]

xrange生成的不是一个数组,而是一个生成器

>>> 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]


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

  须要注意的是,range() 函数返回的对象表现为它是一个列表,但事实上它并非,range()函数并非在调用时一次生成整个序列,而是遍历一次才产生一个值,以减小内存的占用,其本质是一个迭代器。

}

相关文章
相关标签/搜索