Python 笔记——4 条件控制

上一章讲了Python的数据类型及其用法,这一章来讲解Python的条件控制。

 

1、if 条件

  if条件应该是所有编程语言中最经典的控制条件,但在python中,可以使用elif作为else if 的缩写。请注意:Python是一门强调缩进的语言,在if的条件后加入:表示这里是执行语句的入口,然后下一行必须按TAB缩进,下面的elif必须与上面同级的if对齐。

>>> x = int(input("请输入一个整数:"))
请输入一个整数:11
>>> if x == 0:
    print(0)
elif x > 0:
    print(x)
else:
    print(-1)

    
11

   那么在python中的三元表达式怎么写呢?x if y else z,假若满足条件y,则返回x,否则返回z。

>>> x = 1
>>> y = 2
>>> "123" if  x > y else "321"
'321'

2、for

  python中的for与C#中的foreach 和 JAVA中的for有点相像。它能够遍历迭代器。下面我做了一个example,在py文件的文件夹中新建一个txt文件,里面放好我要遍历的文字。在py文件中定义函数main,首先打开test.txt,把所有行读取出来,给x赋值,打印出来以后发现是一个列表。当我使用for 来遍历x的时候,从x中读取每一行赋值给line,print之。

def main():
    fh = open('test.txt')
    x = fh.readlines()
    print x
    for line in x:
        print(line)


if __name__ == "__main__" : main()

['1 hi\n', '2 hello\n', '3 hello world']
1 hi

2 hello

3 hello world

3、while

  while循环和其他语言没有什么区别,当while中的条件为true的时候执行,否则结束循环。

def main():
        i,j = 1,0
        while (i <= 100):
                j,i = j+i,i+1
        print(j)        


if __name__ == "__main__" : main()

5050

4、enumerate函数

  虽然这一节讲的条件控制,但是是在介绍for的时候不得不说一下enumerate这个函数。每一次它会返回两个值,第一个是index,第二个是值。

def main():
        str = 'HelloWorld'
        for i,s in enumerate(str):
                if s == "o":print('index {} is {}'.format(i,s))

if __name__ == "__main__" : main()


index 4 is o
index 6 is o

5、break、continue、else

  break表示跳出该循环,continent表示继续执行下一步,而else则是在循环结束时自动调用。在下面的程序中,有一个叫做range的函数,它有三种模式。

range(x)、range(x,y)、range(x,y,z)。第一种是从0开始遍历到x-1,第二种是从x开始遍历到y-1,第三种是从x开始遍历到y-1,但步长为z。

def main():
        for x in range(1,10):
                for y in range(1,x):
                        if y == 5:
                                break
                else:
                        print(x),'break'
        i = 0
        for z in range(1,10):
                if (z % 2 == 0):
                        continue
                else:
                        print z,'continue'

if __name__ == "__main__" : main()

1 break
2 break
3 break
4 break
5 break
1 continue
3 continue
5 continue
7 continue
9 continue

   最近有点事,要研究新算法,更新速度有点慢,内容也有点少,不过这些都是python比较基础的东西,在我写完预计的18-20章以后,再写一些项目实例。

posted @ 2013-07-03 11:57  delicious2000  阅读(1059)  评论(0编辑  收藏  举报