Python 起步二 循环与逻辑,读取文件

来源:互联网 发布:java 为什么没有二叉树 编辑:程序博客网 时间:2024/05/21 15:39

首先Python是用对齐来表示代码逻辑,没有大括号了(被字典用掉了有木有)

if

x = 6if x<0:    print 'x<0'elif  not x%2:        print 'x is odd number'else:        print 'x is even number'
说明:1 这类逻辑判断,比如while,for都要记得末尾的:

            2 一开始if 跟 elif不对齐,出错

while

count = 4while count >0:    print 'loop %d'%(count)    count -=1

说明:1 while一直循环到条件为false或者0

for

说明:1  for想当于一个迭代器,是从已经有的集合中去逐条拿出,功能类似于Java中的for(Int a:XX) ,下面这种是错误的

i = 0for i  < 3 :    print i    i +=1
       下面是for的一个运用(体会下for作为迭代器)

a = []for i in range(9):    if i%2 == 0:          a.append(i)print afor j in [i for i in range(9) if i%2 == 0]:    print j 

   说明:1  解析
for j in [i for i in range(9) if i%2 == 0]:

             这句话中,先生成一个1-9直接,偶数的列表,然后,for迭代来取

            其中:for i in range(9)   if i%2 ==0,这部分拿到了一个0,2,4,6,8的列表,然后通过前面的i 形成一个新的集合,供j迭代

再参看下面的代码

squared = [x**2 for x in range(9)  if not x%2]for i in squared:    print ifor j in [x**2 for x in range(9)  if not x%2]:    print j


for x in range(9)  if not x%2
                    这只是说x 的范围,至于最后形成的列表集合,是用x或者x**2来形成,都没关系

                    上述的结果为0,4,16,36,这说明x%2取的是奇数,not  x%2取的是偶数


2  内联的range()        

for i in range(3):    print i
输出 0,1,2

 

for i in range(1,9):    print i

输出1,2......9


读取文件

filename = raw_input('enter file name:')fobj = open(filename,'r')for i in fobj:    print i ,fobj.close()

说明: 1 fobj是一个文件对象句柄,得到的是一个逐行的列表,里面是字符串

          2 open参数,第一个是文件名,第二个是权限,r读取,w写,a添加



0 0
原创粉丝点击