1. 程式人生 > >復習 if條件 for序列 for字典 循環退出 while

復習 if條件 for序列 for字典 循環退出 while

復習 循環

if 條件

if 語法

- if expression

statement(s)

註意:python 使用縮進作為其語句的分組方法,建議使用4個空格


if not 1 > 2 and 1 == 1:
    print 'hello python'
    print 'True'

這個例子中,邏輯非的優先級比較高

先執行:

not 1 > 2

在執行:

1==1


if 10 < 2:
    print 'hello python'
    print 'True'
else:
    print 'ha'
print 'main'

這個例子中,print 'main' 這個條件是排除在 if 語句外的,無論如何都會輸出。


if 多個條件,例子如下:

if 10 < 2:
    print 'hello python'
    print 'True'
elif 'a':
    print 'a'
else:
    print 'ha'
print 'main'

總結:

if條件練習,成績分類

score = int(raw_input("Please a num: "))
if score >= 90:
    print "A"
    print 'very good'
elif score >= 80:
    print 'B'
    print 'good'
elif score >= 70:
    print 'C'
    print 'pass'
else:
    print 'D'
print 'END'


布爾值

邏輯值(bool)包含了兩個值:

-True : 表示非空的量(比如:string、tuple、list、set、dictionary),所有非零數。

-False : 表示0,None,空的量等。


技術分享圖片

上栗中,用到了一個字符串的方法,yn.lower ,這個方法的作用把收到的字符串轉為小寫的。



for序列

循環

循環是一個結構,導致程序要重復一定的次數。

條件循環也是如此,當條件變為假,循環結束。


for循環

在序列裏,使用for循環遍歷

語法:

- for iterating_var in sequence:

statement(s)


常用for循環

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

對序列做個遍歷。


含有if條件的for循環

for i in range(1, 11):
    if i % 2 == 0:
        print i

註意縮進


列表的重寫:

幾個栗子:

print [i for i in range(1, 11)]
print [i * 2 for i in range(1, 11)]
print [i for i in range(1, 11) if i % 2 == 0]
print [i ** 2 for i in range(1, 11)]
for i in [i ** 2 for i in range(1, 11)]
    print i,

在一行中打印出列表裏的元素。



用遍歷的方式訪問字典

定義字典的方法:

dic = {'a':1, 'b':2}
dic.fromkeys('abcdefgh',100)


  1. 創建字典

技術分享圖片

2.遍歷字典的key和值

技術分享圖片

3.格式化輸出

技術分享圖片

4.items方法

技術分享圖片

5.iteritems 方法

技術分享圖片

同range和xrange的區別一樣,items和iteritems也累死,iteritems也返回的是對象,不占用內存,

只有調用到的時候,才會占用單個的內存。


6.乘法口訣

for i in xrange(1,10):
    for j in xrange(1, i+1):
        print "%sx%s=%s" % (j, i, j*i)
    print

i 控制行,j 控制列,末尾 print 表示打印換行符


循環退出

for循環也有else

for 循環如果正常結束,才會執行else語句。


舉例:

for i in xrange(10):
    print i
else:
    print 'main end'

else 後面的也會輸出。


1.如果不讓語句執行完 ,break ,退出循環,繼續執行程序,則else不會輸出:

for i in xrange(10):
    print i
    if i == 5:
        break
else:
    print 'main end'

有 break 沒有正常結束,不輸出最後的代碼。


2.continue 退出當前循環,繼續後面的循環

for i in xrange(10):
    if i == 3:
        continue
    if i == 5:
        break
    print i
else:
    print 'main end'

當 i 等於3 時候,循環內部,下面的語句不繼續執行了,跳出當前,繼續下一次循環


3.pass 占位

for i in xrange(10):
    if i == 3:
        countinue
    elif i == 5:
        break
    elif i == 6:
        pass
    print i
else:
    print 'main end'


4.徹底退出程序

import sys
import time

for i in xrange(10):
    if i == 3:
        continue
    elif 1 == 5:
        continue
    elif i == 6:
        pass
    elif i == 7:
        sys.exit()
    print i
else:
    print 'main end'
print "hahahah"

所有sys.exit()下的程序,都不會輸出。


random.randint() 隨機數模塊

技術分享圖片


while 循環

while 和 for 循環的區別

- for 循環用在有次數的循環上

- while 循環用在有條件的控制上


while 循環,直到表達式為假,才退出。

while 循環,表達式是一個邏輯表達式,必須返回一個True或False。


語法:

while expression:

statement(s)


while循環裏有break,也可以退出循環


死循環:

永遠成立,永遠不會退出的循環。

while True:
    print 'hello'


判斷初始值

n = 0
while True:
    if n == 10:
        break
    print n, 'hello'
    n += 1

執行10次就break了~


讀取鍵盤輸入

while True:
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if x == "q":
        break


變量使用:

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")


判斷的使用

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if not x :
        break

當 x 為 非空的時候,就退出循環。


while 也有else

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if not x :
        break
else:
    print 'world'

如果不是正常結束,就會執行else。


continue 用法

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if not x :
        break
    if x == 'quit':
        continue
    print 'continue'
else:
    print 'world'


復習 if條件 for序列 for字典 循環退出 while