上一章讲了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章以后,再写一些项目实例。
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>