码迷,mamicode.com
首页 > 其他好文 > 详细

控制流

时间:2017-12-27 19:41:26      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:控制流、demo4

# -*- coding:utf-8 -*- #--控制流---------------------------------------------------------------- #---if----- age = 13; if age>=18:     print 'adult'; elif 18>age>=6:     print 'teenager'; else:     print 'kid';   #teenager #可以改造的简单一些-------------------------- age=3; print 'adult' if age>=18 else('teenager' if 18>age>=6 else 'kid');  #kid #或者利用and,or条件短路 age=6; print(age>=18 and 'adult') or (18>age>=6 and 'teenager') or 'kid';  #teenager ''' 注意条件表达式不能包含复制语句 if(x=1)>0:    #此写法是错误得     print '二大爷';   if(x=1)>0:         ^ SyntaxError: invalid syntax ''' #-----------if练习----------猜数字---------------------------- number = 23; guess = int(raw_input('请输入数字:')); if guess==number:     print '祝贺你,猜中了';     print '但是没有奖励'; elif guess<number:     print '小了'; else:     print '大了'; print 'done'; #------------循环-------------------------------------------------------------------- #--for---- names = ['Michael','Bob','Tracy']; for name in names:     print'name:%s'%name; ''' name:Michael name:Bob name:Tracy ''' #--for x in...循环就是把每个元素带入变量,然后执行语句 #计算10! sum=0; for x in [1,2,3,4,5,6,7,8,9,10]:     sum = sum+x; print 'sum:',sum;  #55 #用上述方法较麻烦,所以有range()函数 xrange() sum = 0; for x in range(11):     sum = sum+x; print 'sum:',sum;  #55 #遍历i for i in xrange(4):     print 'i:',i; ''' i: 0 i: 1 i: 2 i: 3 ''' #----多变量赋值------- for i,j in {'a':1,'b':2}.items():     print i,j; ''' a 1    #i--a j--1  b 2    #i--b j--2 ''' s = ((1,['a','b']),(2,['x','y'])); for i,(c1,c2) in s:                   #展开,[]和()都可以用     print i,c1,c2; ''' 1 a b     #i--1  (c1,c2)--a b 2 x y     #i--1  (c1,c2)--a b    ''' #for中也可以有else for x in xrange(3):     print x; else:     print'哈哈'; ''' 0 1 2 哈哈 ''' for x in xrange(2):     print x;     if x>=1:break;   #结束了,不执行else else:     print '哈哈' ''' 0 1 ''' #--------用enumerate()返回序列号的for循环,既遍历索引,又遍历元素----------------- for i,c in enumerate('abcd'):     print 's[{0}]={1}'.format(i,c); ''' s[0]=a s[1]=b s[2]=c s[3]=d format用来格式化字符串,当然可以直接 print i,c 结果是   0 a         1 b         2 c         3 d ''' #当然也可以这样 ss = 'abc' for i in range(len(ss)):    print 's{0}={1}'.format(i,ss[i]); ''' s0=a s1=b s2=c 与上题比较可以看出[]&{}的不同 ''' #------用list来举例--原理the same------------- list = ['二','大','爷']; #先不用enumerate for i in range(len(list)):     print 's[{0}]={1}'.format(i,list[i]); ''' s[0]=二 s[1]=大 s[2]=爷 ''' #现在来用enumerate for index,item in enumerate(list):     print 's[{0}={1}]'.format(index,item); #enumerate可以用来指定索引起始值 for index,item in enumerate(list,1):     print 's[{0}={1}]'.format(index,item); ''' s[1=二] s[2=大] s[3=爷] ''' ''' enumerate 可以统计文件行数 count = len(open(filepath, 'r').readlines()) 简单慢文件过大不能工作 这样 count = 0 for index, line in enumerate(open(filepath,'r')):      count += 1 ''' #-------------------------------------------------------------------------- #------while----------- #python的while中有else分支,循环没中断,则执行else x=3; while x>0:     x-=1     print x; else:     print"哈哈!" ''' 2 1 0 哈哈! ''' while True:     x+=1     if x>3: break     print x; else:     print '二大爷!'; ''' 1 2 3 ''' #------下面用while来完成猜数字------------- number = 23; running = True; while running:     guess = int(raw_input('请输入数字:'));     if guess == number:         print '祝贺你,猜对了';         running = False; #用来结束循环 也可以用break     elif guess<number:         print '小了,请重猜';     else:         print '大了'; else:     print '二大爷驾到'; print '游戏结束'; #------------------------------------------------------ #-----break--- while True:     s = raw_input('please entering someing:')     if s=='quiet':         break;     print 'length of the string is:',len(s); print 'over'; ''' please entering someing:i want to length of the string is: 9 please entering someing:you and me length of the string is: 10 please entering someing:quiet over ''' #---补充 range和xrange---------------------- #range(start,end,step)生成序列 print range(3); #[0, 1, 2] print range(1,6,3); #[1, 4] #用法与range相同,不同的是成成不是一个数组,是生成器 print xrange(3); #xrange(3) print list(xrange(3));  #[0, 1, 2] print xrange(0,7,3);   # xrange(0, 9, 3) print list(xrange(0,7,3));  #[0, 3, 6] #--二者都用于循环,但是xrange优于range for i in range(0,100):     print i; for i in xrange(0,100):     print i; #--二者结果一样都是打印0到100,但是运行过程不一样 #--range-- a = range(0,100); print type(a); #<type 'list'> print a;   #1,2,3,4,5......98,99 print a[0],a[1],a[2],a[3]; #0 1 2 3 接着写到a[99] #--xrange-- a = xrange(0,100); print type(a);  #<type 'xrange'> print a;    #xrange(100) print a[0],a[1],a[2],a[3]; #0 1 2 3 接着写到a[99]


控制流

标签:控制流、demo4

原文地址:http://blog.51cto.com/11927232/2055248

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!