《转》python学习(11)-表达式和语句

转自 http://www.cnblogs.com/BeginMan/p/3164600.html

一、Python语句

if语句、else语句、elif语句、条件表达式、while语句、for语句、break语句、continue语句、pass语句、Iterators(迭代器)、列表解析

二、常用语句小结

1、if语句可以通过布尔操作符and、or和not实现多重判断条件或否定判断条件

2、if...elif...elif...else..

3、三元操作符:Python2.5后:X if C else Y

x,y=4,3
if x>y:
    s = y
else:
    s= x
    
print s

或许更加简洁的是:

x,y = 4,3
s = (x<y and [x] or [y])[0]

在Python2.5更新后:

x,y = 4,3
s = x if x<y else y

4、while:

count = 0 
while(count<9):
        .....
或者:
while True:
        .....
#用的挺多的。

5、for循环

s = ['a','b','c','d','e']

#No1:项
for obj in s:
    print obj,          #a b c d e
    
print range(len(s))     #[0, 1, 2, 3, 4]
#No2:索引
for obj in range(len(s)):
    print s[obj],       #a b c d e

配合len()、range()使用,使用range()能得到迭代对象的索引数的列表。

#No3:使用项和索引迭代
for i,eachline in enumerate(s):
    print i,eachline
#0 a
#1 b
#2 c
#3 d
#4 e

enumrate():返回两个对象,一个是下标索引(%d),另一个是下标索引对应的元素(%s)

6、break、continue

break:结束当前循环,跳到下一条语句。
continue:终止当前循环,忽略剩余的部分,然后回到循环的顶端,在开始执行下一次迭代前,验证是否通过,然后再进行下一次的迭代。

pwd='abc'
count = 0
while count<3:
    inp =raw_input('Please input password:')
    if inp == pwd:
        print 'ok'
        break
    else:
        count += 1
#        if count<3:
#            print  'you have %d times to input password' %(3-count)
#        else:
#            print 'game over'
        #精简:x if ..else y
        s = 'you have %d times to input password' %(3-count) if count<3 else 'game over'
        print s

7、pass

pass:是一个很好的占位符,不做任何事情。

注意:编写代码时,最好先别结构定下来,如果不想让一些代码干扰,那么最好的方法就是使用pass

8、for、while与else的联合使用

其他语言中,else只能用于if条件句,但是Python不同其他语言,else还能与for、while一起使用。在循环后处理,并且如果遇到break,则也会跳过else的。

def showMaxFactor(num):
    count = num / 2
    while count > 1:
        if num % count == 0:
            print u'%d的最大公约数是: %d' %(num,count)
            break
        count -= 1
    else:
        print num,u'是素数'
        
for eachNum in range(10,21):
    showMaxFactor(eachNum)  

 

posted @ 2017-03-26 22:21  nolonely  阅读(207)  评论(0编辑  收藏  举报