標籤:python、語句
python語句特點:
1.條件後面都以分號結尾
2.縮排問題:縮排是python表示語句塊的唯一方法,一個語句快中的所有語句必須使用相同的縮排。關於縮排風格,標準python風格是每個縮排層級使用4個空格,最好不要使用Tab定位字元,因為不同的編輯器處理定位字元的方式不同。
條件判斷
1.單分支if語句
if <條件判斷>: <執行>
如果if語句判斷是True,就把縮排的語句執行了,否則,什麼也不做。也可以給if添加一個else語句,意思是,如果if判斷是False,不要執行if的內容,去把else執行了。
例如:
a=10if a>20: print "more than 20"else: print "less than 20"
很明顯,執行程式後,在螢幕列印出了”less than 20”,有一種“三目運算式”可以簡寫if語句,例如:
a=10result=("more than 20" if a>20 else "less than 20")print (result)
注意:如果我們把判斷語句的小括弧換成方括弧,那麼輸出結果就是一個列表,即[‘less than 20‘]。
2.多分支if語句
if <條件判斷1>: <執行1>elif <執行2>elif <執行3>else: <執行4>
if語句執行有個特點,它是從上往下判斷,如果在某個判斷上是True,把該判斷對應的語句執行後,就忽略掉剩下的elif和else。
補充:
1.條件為True的情況,除了條件成立,還有就是:
if x: print(‘True‘)
只要x是非零數值、非Null 字元串、非空list等,就判斷為True,否則為False。
2.input問題
執行程式後需要使用者手動輸入,這就需要使用”input”。在python3.5中,input會把所有輸入的字元轉為”str”資料類型嗎,例如:
>>> a=input("number:")number:5>>> type(a)<class ‘str‘>>>> b=int(input("number:"))number:10>>> type(b)<class ‘int‘>
3.pass
pass語句作用是不執行當前代碼塊,例如:
a=10if a>20: print "more than 20"else: pass
執行程式後,返回結果為空白。
迴圈語句
1.for迴圈
(1)迭代對象
遍曆字串,每個字元當做單個遍曆:
>>> for i in "abc":... print i...abc
使用 range()函數產生一個數字序列列表,並遍曆:
>>> for i in range(1,5): ... print i...1234#range()只有一個元素,從0開始遍曆:>>> range(5)[0, 1, 2, 3, 4]
2)嵌套迴圈
逐個迴圈判斷外層列表裡元素是否存在內層列表:
>>> for i in range(1,6):... for x in range(3,8):... if i == x:... print i...345
3)簡寫語句
簡寫 for 語句:
>>> result = (x for x in range(5))>>> result<generator object <genexpr> at 0x030A4FD0>>>> type(result)<type ‘generator‘>
# 同樣用中括弧會以列表格儲存體
>>> result = [ x for x in range(5)]>>> type(result)<type ‘list‘>>>> result[0, 1, 2, 3, 4]
for 和 if 語句寫一行:
>>> result = [ x for x in range(5) if x % 2 == 0]>>> result[0, 2, 4]
這種使用中括弧括起來的運算式稱為列表解析運算式,每一次迭代,都會把迭代對象放到 x 變數中,最後運算式計算值產生一個列表。
2.while迴圈
1)輸出序列
當條件不滿足時,停止迴圈:
>>> count = 0>>> while count < 5:... print count ... count += 1 ...01234
2)死迴圈
>>> import time>>> i = 1>>> while True: ... print i ... i += 1 ... time.sleep(0.5)...123......
注意:當運算式值為 true 或者非零時,都會一直迴圈。
補充:
break
在迴圈中,break語句可以提前退出迴圈。
continue
在迴圈過程中,也可以通過continue語句,跳過當前的這次迴圈,直接開始下一次迴圈。
,
編寫python指令碼時,有時候需要將輸出的內容不換行,按一行輸出,可以在語句末尾添加一個逗號,例如:
>>> for i in range(5):print i,0 1 2 3 4
練習:
執行程式後,要求使用者輸入姓名和密碼,正確則返回歡迎資訊,錯誤返回提示資訊,三次錯誤後退出程式。
#!/usr/bin/env python# -*- coding:utf-8 -*-a={‘zhangsan‘:‘123abc‘,‘lisi‘:‘2‘,‘wangwu‘:‘3‘}b=a.keys()for i in range(3): name=raw_input("please enter your name:") password=raw_input("please enter your password:") if name in b: if password==a[name]: print ("welcome!") break else: print ("your password is false!") else: print ("no this user!")else: print ("too much retry!")
本文出自 “網路技術” 部落格,請務必保留此出處http://fengjicheng.blog.51cto.com/11891287/1927651
python筆記--語句