02python基礎 控制流程

2022-06-18 04:00:12 字數 4713 閱讀 1942

寫在前面:

(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)]

print

(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...