循環結構
程序設計中,最能發揮計算機特長的結構:循環結構
需要重復進行某種運算,并且運算對象有規律變化的情況,使用循環結構
使用for n in range(2,10)時,不包括10
python中不支持直到型循環結構(后測循環實現)
但可以通過while語句間接實現:
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;
#若數字有效跳出循環,哨兵循環
print("The number you entered was not positive")
注意:與Java、C區別最大的地方
# 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
分支結構
if
:
elif
:
……
else:
條件判斷
循環和分支使用的條件循環語句這里使用的不是!、||、&&,而是布爾表達式not、or、and
布爾表達式滿足或對與、與對或的分配律,滿足德摩根定理
有時候尋找一個循環終止的條件比尋找一個循環繼續的條件更容易,但是條件過于復雜,解決方法:
對布爾表達式使用幾次德摩根定律
注意不要將while rep==‘y’ or rep==‘Y’, 錯寫成 while rep == ‘y’ or ‘Y’, 因為’Y’是一個非空串,永遠為真
對于數字的0值默認為假,對于空字符串""默認為假,空序列默認為假。
python的布爾運算符為短路運算符,當前面的表達式已經可以得出該布爾表達式的真假時,布爾表達式便不再進行下去。
即x and y中,當x為假,則不在計算y的真假;
x or y中,當x為真,就不在判斷y的真假。
舉個栗子,當用戶僅敲下回車鍵時,input()函數讀入的串為空串,下面寫一個函數,當用戶輸入為空時,將字符串賦值為vanilla
實現方法一:
ans = input("What flavor do you want [vanilla]:")
if ans :
flavor = ans
else:
flavor = "vanilla"
實現方法二:
ans = input(“What flavor do you want [vanilla]:”)
flavor = ans or “vanilla”
或
flavor= input("What flavor do you want [vanilla]:") or "vanilla"
異常處理
當處理錯誤或特殊情況的分支語句過多,會導致
主程序
變得不
清晰易讀
,于是,引入異常處理機制來解決程序運行時的錯誤。
Python解釋器遇到一個try語句,它會嘗試執行try語句體內的語句
如果沒有錯誤,控制轉到try-except后面的語句
如果發生錯誤,Python解釋器會尋找一個符合該錯誤的異常語句,然后執行處理代碼
try:
except
:
except
:
except
:
except:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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