寫在前面:
(1)bool是一種資料型別,其值為true和false,實際上bool是內建的整數型別int的子類(class bool(int))。python中把任意的空資料結構視為false,把任意非空結構視為true。
其實,python中的每個物件都有其bool值。
int 0,float0.0, 空列表,空字典{},空元組(),空集合set(),空deque() 的bool值都是false。
(2)none也是一種資料型別,它是乙個真正的物件,並有一塊記憶體,其bool值總被視為false。
(3)if語句和其他的選擇工具會自動的使用資料的布林結果。
一、分支(if)
1.1 單分支結構
if 表示式:
**塊
#檢測使用者是否輸入了正確的使用者名稱,使用列表儲存使用者名稱
a = ['
mike
', '
mary
', '
john
', '
tom', '
jenny
', '
herry']
b = raw_input('
please enter your name:')
if (b in
a):
print('
welcome
', b)
#檢測使用者是否正確輸入使用者名稱和密碼,使用字典儲存
d=name=raw_input('
please enter your name:')
pwd=raw_input('
please enter you password:')
if(name in d) and pwd==d[name]:
print('
welcome
',name)
1.2 雙分支結構
if 表示式:
**塊1
else:
**塊2
#檢測使用者是否正確輸入使用者名稱和密碼,使用字典儲存,不正確提示重新輸入
d =
name = input('
please enter your name:')
pwd = input('
please enter you password:')
if (name in d) and pwd ==d[name]:
print('
welcome
', name)
else
:
print('
請重新輸入
')
1.3 多分支結構
根據多個條件進行判斷
if 表示式1:
**塊1
elif 表示式2:
**塊2
...elif 表示式n:
**塊n
else:
**塊n+1
#如果使用者輸入管理員使用者名稱和密碼則歡迎管理員,普通使用者,否則提示輸入錯誤
admin=
user=
name = input('
please enter your name:')
pwd = input('
please enter you password:')
if name in admin and pwd==admin[name]:
print('
歡迎管理員
',name)
elif name in user and pwd==user[name]:
print('歡迎'
,name)
else
:
print('
輸入錯誤
')
1.4 條件表示式(三元表示式)
表示式1 if 真值表示式 else 表示式2
a,b = 3,2max = a if a>b else b
二、迴圈結構(while & for)
2.1 while語句
#計算1+2+...+100
n=1s=0
while n<=100:
s+=n
n=n+1
print(s)
(1)while語句+else語句
#檢測使用者是否正確輸入使用者名稱和密碼,使用字典儲存,不正確提示重新輸入,三次機會
d =
name = input('
please enter your name:')
pwd = input('
please enter you password:')
n=0while(name not
in d or pwd!=d[name]):
n=n+1
if n>2:
print('
輸入次數超過3次')
break
#因為不滿足while條件而退出迴圈,則執行else,遇到break跳出迴圈,不會執行後面的else
print('
你還有',3-n,'
次機會'
) name = input('
please enter your name:')
pwd = input('
please enter you password:')
else
: #當while 迴圈正常執行完,中間沒有被break 中止的話,就會執行else後面的語句
#如果執行過程中被break啦,就不會執行else的語句啦
print('歡迎',name)
(2)for語句+else語句
l1 = [2,3,5]l2 = [1,2,3,4]
for i in
l1:
for j in
l2:
if i==j:
print(i,'
was found')
break
else
:
print(i,'
not found
')#和while語句一樣,如果for迴圈未執行break,則會執行此else
(3)break語句
跳出整個迴圈,break經常與if語句結合使用,用if語句判斷是否滿足跳出迴圈的條件
#求最大真因數
n=int(input('
please input the number:'))
m=n//2
while m>0:
if n%m==0:
print('
最大真因數為
',m)
break
m=m-1
(4)continue語句
跳出此次迴圈
#求1-100中同時被3和7整除的數的個數
n=0m=0
while m<101:
m=m+1
if m%3!=0 or m%7!=0:
continue
n=n+1
print('
1-100中有
',n,'
個數可以同時被3和7整除。
')
2.2 for語句
(1)enumerate語句
enumetrate函式不僅可以訪問迭代物件的元素,也可以訪問其索引
#輸出歌手出場順序
namelist=[u'
鄭智化',u'
周杰倫',u'
許嵩',u'
葉慧美'
]for n,name in
enumerate(namelist):
print('
第',n+1,'
位出場歌手:
',name)
(2)range函式
#計算1+2+...+100
s =0
for i in range(1,101):
s +=i
print(s)
(3)xrange函式
xrange與range類似,但不會在記憶體中建立列表的完整副本,只能用於for迴圈中,在for 迴圈外,xrange函式沒有意義
(4)迭代器
迭代器有乙個next方法,呼叫後會掃瞄下乙個條目,所有條目迭代後,會引發stopiteration異常告訴迴圈結束
(5)列表解析
for 語句也可以用於列表解析中,可以動態建立列表
l= [pow(a,2) for a in range(2,10)](l)teldict =
print([teldict[name] for name in teldict])
列印久久乘法表:
#九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(j,'
*',i,'
=', i*j,end='')
print()
python 指南(02)python基礎
1.python程式是大小寫敏感的 2.python使用縮進來組織 塊,請務必遵守約定俗成的習慣,堅持使用4個空格的縮排 3.在文字編輯器中,需要設定把tab自動轉換為4個空格,確保不混用tab和空格 關於變數賦值a python 中的除法 python 中運算子 python中整數和浮點數均沒有大...
02python基礎 函式,類
建構函式 類 class student 類名一般為首字母大寫,駝峰原則 def init self,name,score self必須位於第乙個引數 self.name name self.score score def say score self self必須位於第乙個引數 print 的分數...
02 Python建立Excel文件
python對於自動化辦公而言,具有很高的實用價值,它能處理重複性較強的工作。廢話不多說,今天進入python之excel文件處理系列的第二節 用python建立excel 分以下幾個步驟 1.安裝 xlwt 模組 命令列安裝 pip install xlwt pycharm安裝 參照第一節xlrd...