循環(huán)結(jié)構(gòu)
程序設(shè)計(jì)中,最能發(fā)揮計(jì)算機(jī)特長(zhǎng)的結(jié)構(gòu):循環(huán)結(jié)構(gòu)
需要重復(fù)進(jìn)行某種運(yùn)算,并且運(yùn)算對(duì)象有規(guī)律變化的情況,使用循環(huán)結(jié)構(gòu)
使用for n in range(2,10)時(shí),不包括10
python中不支持直到型循環(huán)結(jié)構(gòu)(后測(cè)循環(huán)實(shí)現(xiàn))
但可以通過while語(yǔ)句間接實(shí)現(xiàn):
number = -1
while number < 0
number = eval(input("Enter a positive number:"))
或者
while True:
number = eval(input("Enter a positive number:"))
if x >= 0 : break;
#若數(shù)字有效跳出循環(huán),哨兵循環(huán)
print("The number you entered was not positive")
注意:與Java、C區(qū)別最大的地方
# months.py
def main():
for n in range(2,10):
for x in range(2,n):
print("({},{})\t".format(n,x))
if n%x == 0:
print(n,'equals',x,'*',n//x)
break;
else:
# loop fell through without finding a factor
print(n,'is a prime number')
main()
輸出:
2 is a prime number
(3,2)
3 is a prime number
(4,2)
4 equals 2 * 2
(5,2)
(5,3)
(5,4)
5 is a prime number
(6,2)
6 equals 2 * 3
(7,2)
(7,3)
(7,4)
(7,5)
(7,6)
7 is a prime number
(8,2)
8 equals 2 * 4
(9,2)
(9,3)
9 equals 3 * 3
分支結(jié)構(gòu)
if
:
elif
:
……
else:
條件判斷
循環(huán)和分支使用的條件循環(huán)語(yǔ)句這里使用的不是!、||、&&,而是布爾表達(dá)式not、or、and
布爾表達(dá)式滿足或?qū)εc、與對(duì)或的分配律,滿足德摩根定理
有時(shí)候?qū)ふ乙粋€(gè)循環(huán)終止的條件比尋找一個(gè)循環(huán)繼續(xù)的條件更容易,但是條件過于復(fù)雜,解決方法:
對(duì)布爾表達(dá)式使用幾次德摩根定律
注意不要將while rep==‘y’ or rep==‘Y’, 錯(cuò)寫成 while rep == ‘y’ or ‘Y’, 因?yàn)椤痀’是一個(gè)非空串,永遠(yuǎn)為真
對(duì)于數(shù)字的0值默認(rèn)為假,對(duì)于空字符串""默認(rèn)為假,空序列默認(rèn)為假。
python的布爾運(yùn)算符為短路運(yùn)算符,當(dāng)前面的表達(dá)式已經(jīng)可以得出該布爾表達(dá)式的真假時(shí),布爾表達(dá)式便不再進(jìn)行下去。
即x and y中,當(dāng)x為假,則不在計(jì)算y的真假;
x or y中,當(dāng)x為真,就不在判斷y的真假。
舉個(gè)栗子,當(dāng)用戶僅敲下回車鍵時(shí),input()函數(shù)讀入的串為空串,下面寫一個(gè)函數(shù),當(dāng)用戶輸入為空時(shí),將字符串賦值為vanilla
實(shí)現(xiàn)方法一:
ans = input("What flavor do you want [vanilla]:")
if ans :
flavor = ans
else:
flavor = "vanilla"
實(shí)現(xiàn)方法二:
ans = input(“What flavor do you want [vanilla]:”)
flavor = ans or “vanilla”
或
flavor= input("What flavor do you want [vanilla]:") or "vanilla"
異常處理
當(dāng)處理錯(cuò)誤或特殊情況的分支語(yǔ)句過多,會(huì)導(dǎo)致
主程序
變得不
清晰易讀
,于是,引入異常處理機(jī)制來(lái)解決程序運(yùn)行時(shí)的錯(cuò)誤。
Python解釋器遇到一個(gè)try語(yǔ)句,它會(huì)嘗試執(zhí)行try語(yǔ)句體內(nèi)的語(yǔ)句
如果沒有錯(cuò)誤,控制轉(zhuǎn)到try-except后面的語(yǔ)句
如果發(fā)生錯(cuò)誤,Python解釋器會(huì)尋找一個(gè)符合該錯(cuò)誤的異常語(yǔ)句,然后執(zhí)行處理代碼
try:
except
:
except
:
except
:
except:
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
