我的Python成长之路---第一天---Python基础(5)---2015年12月26日(雾霾)
? ?六、流程控制
? ? 與C語言不通的事Python的流程控制的代碼塊不是用{}花括號表示的,而是用強制縮進來,而且縮進必須一致,官方推薦是使用4個空格,不建議使用使用tab(制表符)做縮進,一是不同的系統tab所占寬度不一致,會比較亂,二是由于Python要求同級縮進必須保持一致,所以有些時候看上去是對其了,但是有的是空格有的是tab鍵使得不容易排錯,另外條件判斷的條件語句不需要使用()括起來,但是條件語句后面使用:
? ? 1、條件判斷——if語句
? ? 條件判斷就是執行某個代碼段之前先進性判斷,如果符合在執行某個代碼段
? ? 比如,輸入年齡,如果年齡小于18歲,就告訴他too young too simple!
1 age = 17 2 if age < 18: 3 print('too young too simple') # 若果判斷返回的True就執行這段代碼? ? 也可以個if添加一個else語句,告訴Python解釋器,如果不符合執行條件(返回Fasle)的代碼段,例如,如果如果年齡不小于18歲,就告訴他do you marry me?
1 age = 19 2 if age < 18: 3 print('too young too simple') 4 else: 5 print('do you marry me?') # 如果判斷返回的是False就執行這段代碼? ? 由于Python沒有case語句,所以條件分之可以通過else if這樣的嵌套,為了減少嵌套可以使用簡寫elif,例如再加一個條件如果大于30歲,告訴他too old!
1 age = 33 2 if age < 18: 3 print('too young too simple') 4 elif age > 32: 5 print('too old!') 6 else: 7 print('do you marry me?')? ? 注意:保持縮進一致,不要忘了冒號:哦
? ? 應用示例:
? ? 現在我們有這么一個需求,設計一個猜幸運數字的小游戲,通過控制臺輸入的方式讓用戶猜你的幸運數字lucky number,如果用戶輸入的比你的幸運數字大就提示再小一點,反之如果輸入的比你幸運數字小則提示再大一點,如果猜中則提示Bingo。
#!/usr/bin/env python # coding:utf-8 ''' Created on: @author: 張曉宇Email: 61411916@qq.comVersion: 1.0Description: 猜lucky number1、如果猜的數字比lucky number大,提示說小一點2、如果猜的數字比lucky number小,提示說大一點3、如果相等,提示BingoHelp: ''' if __name__ == '__main__':# 定義lucky numberlucky_num = 5# 獲取用戶輸入的猜lucky numberlucky_num_input = int(input("請輸入lucky number(1-10): "))# 判斷用戶輸入的猜lucky numberif lucky_num_input > lucky_num:# 輸入的比lucky number大print("再小一點")elif lucky_num_input < lucky_num:# 輸入的比lucky number小print("再大一點")else:# 正確print("Bingo")? ? 2、while循環:只要符合條件(條件語句返回的是True)則循環執行某個代碼段
? ? 比如我們的程序有著讓用戶輸入東西并進行處理(例如菜單程序),若果用戶輸入的q則退出程序
#!/usr/bin/env python # coding:utf-8 choose = '' while choose != 'q':choose = input('請輸入你要點的菜,輸入q退出:')? ? ?循環中的常見關鍵字break、continue和else:
? ? ?在循環中關鍵字break表示退出循環,continue表示退出當前循環繼續下一輪的循環,continue后面的語句將不執行,else和if中else表示條件不滿足時(也就是正常退出循環不是用break強制退出循環)執行的代碼段
? ? ?應用示例,還是剛才那個猜幸運數字的游戲,之前只是輸入一次程序就退出了,如果繼續猜需要重新運行程序,這很不友好,我們現在讓用戶運行一次可以猜3次如果三次猜不對再退出程序
#!/usr/bin/env python # coding:utf-8 ''' Created on: @author: 張曉宇Email: 61411916@qq.comVersion: 2.0Description: 猜lucky number1、如果猜的數字比lucky number大,提示說小一點2、如果猜的數字比lucky number小,提示說大一點3、如果相等,提示Bingo4、沒有猜對繼續循環直到猜對5、限制三次,如果沒有猜對提示三次沒有猜對,游戲結束Help: ''' if __name__ == '__main__':# 定義lucky numberlucky_num = 5# 定義guess_count,計數猜的次數guess_count = 0while guess_count < 3:# 獲取用戶輸入的猜lucky numberlucky_num_input = int(input("請輸入lucky number: "))# 判斷用戶輸入的猜lucky numberif lucky_num_input > lucky_num:# 輸入的比lucky number大print("再小一點")elif lucky_num_input < lucky_num:# 輸入的比lucky number小print("再大一點")else:# 輸入的和lucky number相等print("Bingo!")# 退出循環break# 次數加1guess_count += 1else:# 猜了三次循環正常退出print("三次沒有猜對,游戲結束")? ? 3、for循環
? ? Python中的for循環常常使用in對序列化對象(如列表、元祖等)進行遍歷,這里我們還沒降到列表元祖等,我們可以用字符串(字符串也是序列化對象,可以遍歷每個元素也就是組成字符串的每一個字符),假設我們有一個字符串'ABC',我們要把字符串中的每一個字符分別輸出可以這樣做:
for i in 'ABC':print(i)? ? ?如果我們需要像C語言for(i=1;i<;i++),可以借助內置方法range(n),就是生成一個(0,1,2...n-1)的這么一個序列,例如我們要件指定循環多少遍(打印0-9的數字)可以這么做
for i in range(10):print(i)? ? ?Python的for循環也可以使用break等,continue和else,使用方法和while循環一樣
? ? ?應用示例,我們把猜幸運數字的游戲改成for循環實現
#!/usr/bin/env python # coding:utf-8 ''' Created on: @author: 張曉宇Email: 61411916@qq.comVersion: 2.0Description: 猜lucky number1、如果猜的數字比lucky number大,提示說小一點2、如果猜的數字比lucky number小,提示說大一點3、如果相等,提示Bingo4、沒有猜對繼續循環直到猜對5、限制三次,如果沒有猜對提示三次沒有猜對,游戲結束Help: ''' if __name__ == '__main__':# 定義lucky numberlucky_num = 5for guess_count in range(3):# 獲取用戶輸入的猜lucky numberlucky_num_input = int(input("請輸入lucky number: "))# 判斷用戶輸入的猜lucky numberif lucky_num_input > lucky_num:# 輸入的比lucky number大print("再小一點")elif lucky_num_input < lucky_num:# 輸入的比lucky number小print("再大一點")else:# 輸入的和lucky number相等print("Bingo!")# 退出循環breakelse:# 猜了三次循環正常退出print("三次沒有猜對,游戲結束")? ? ?總結:while和for循環雖然都可以實現循環,但是他們各自有各自的特點,根據實際需要選擇,例如不限定循環的次數只要符合條件就退出循環使用while循環就比較方便,如果限定循環次數或者要遍歷序列對象使用for就比較方便
? ? ?
? ? ?
? ??
?
? ??
? ??
?
轉載于:https://www.cnblogs.com/zhangxiaxuan/p/5082773.html
總結
以上是生活随笔為你收集整理的我的Python成长之路---第一天---Python基础(5)---2015年12月26日(雾霾)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022车险买哪几种保险最合适,有以下三
- 下一篇: Linux下OpenSSL的安装与使用