復習 if條件 for序列 for字典 循環退出 while
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)
創建字典
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