12、流程控制

流程控制

if else

  • if语句

    • Python的if语句类似其他语言。if语句包含一个逻辑表达式,使用表达式比较,在比较的结果的基础上作用出决定。

        if expression:
            statement
      
    • 注:Python使用缩进作为其语句分组的方法,建议使用4个空格代替缩进。

    • 逻辑值(bool)用来表示诸如:对与错,真与假,空与非空的概念

    • 逻辑值包含了两个值:

      • True:表示非空的量(比如:string, tuple, set, dictonary等),所有非零数
      • False:表示0,None,空的量等。
    • 作用:主要用于判读语句中,用来判断

      • 一个字符串是否为空的
      • 一个运算结果是否为零
      • 一个表达式是否可用
  • else语句

    • 语法

        if expression:
            statement
        else:
            statement
      
    • 如果条件表达式if语句解析为0或false值。else语句是一个可选的语句,并最多只能有一个else语句。

  • elif语句

    • 语法

        if expression:
            statement
        elif expression2:
            statement
        elif expression3:
            statement
        else:
            statement
      
    • elif语句可以让你检查多个表达式为真值,并执行一个代码块,elif语句是可选的。可以有任意数量的elif。

  • 嵌套的if...elif...else构造

      if expression1:
          statement
          if expression2:
              statement
          else:
              statement
      else:
          statement
    
  • 使用逻辑运算符and、or、not

      if expression1 and expression2:
          statement
      else:
          statement
    

for循环

  • 循环是一个结构,导致一个程序重复一定次数。

  • 条件循环也是如此。当条件变为假,循环结束。

  • for循环:

    • 在Python for循环遍历序列,如一个列表或一个字符。
  • for循环语法:

      for iterating_var in sequence:
          statements
    
  • 注:如果一个序列包含一个表达式列表,它是第一个执行。
    然后,该序列中的第一项赋值给迭代变量iterating_var。接下来,执行语句块。列表中的每个项目分配到iterating_var,代码块被执行,直到整个序列被耗尽。

  • 注:格式遵循代码块缩进原则

  • 例子:

      for letter in 'python':
          print 'Current Letter: ', letter
    
      fruits=['banana', 'apple', 'mango']
      for fruit in fruits:
          print 'Current fruit: ', fruit
    
  • 迭代序列指数(索引):

    • 遍历每个项目的另一种方法是由序列本身的偏移指数(索引)

    • 例子

        fruits=['banana', 'apple', 'mango']
        for index in range(len(fruits)):
            print 'Current fruit: ', fruits[index]
      
    • 注:‘迭代’,指重复执行一个指令。

range

  • 循环结构是用于迭代多个项的for语句,迭代形式可以循环序列的所有成员。

  • range(i,j[,步进值])

    • 如果所创建的对象为整数,可以用range
    • i为初始数值
    • j为终止数值,但不包括在范围内,步进值为可选参数,不选的话默认是1
    • i不选择的话默认为0
  • 例子:

      sum = 0
      for num in range(1, 101, 1):
          sum += num
      print sum
    

遍历字典

    dic={'name': 'jack', 'age': 20, 'gender':'male'}
    for key in dic:
        val = dic[key]
        print key,val

    for key,val in dic.items():
        print key, val

for循环控制

    for x in range(10):
        if x == 1:
            pass
        if x == 2:
            continue
        if x == 5:
            break;
    else
        print 'end'

while循环

  • while循环,直到表达式变为假。表达的是一个逻辑表达式,必须返回一个true或false值

  • 语法:

      while expression:
          statement
    
  • 注:遵循代码块缩进原则

      while x != 'q':
          x = raw_input('please input something, q for quit: ')
          if not x:
              break
      else:
          print 'end'
    
posted @ 2018-01-01 21:19  水之原  阅读(161)  评论(0编辑  收藏  举报