if:用來判斷事物的對錯、真假、是否執行。根據不一樣的狀況判斷,條件知足執行某條件下的語句python
語法結構(3種)微信
# 第一種,只有if結構。條件表達式成立,執行代碼塊 if 條件表達式: 代碼塊 # 第二種,if……else……條件表達式成立,執行代碼塊1,不然執行代碼塊2 if 條件表達式: 代碼塊1 else: 代碼塊2 # 第三種,if……elif……else…… # 若是條件表達式1成立,執行代碼塊1;不成立,判斷條件表達式2,若是條件表達式2成立,執行代碼塊2,不然執行代碼塊3。其中,elif能夠有多個。 if 條件表達式1: 代碼塊1 elif 條件表達式2: 代碼塊2 else:aD 代碼塊3
if的嵌套code
# 需求:溜達的時候,迎面走來我的,若是是個帥氣的小哥哥,就上前要微信,不然就嫌棄地走掉。若是要到微信,就在一塊兒散步,不然就回家擼貓 gender = 'male' age = 21 is_smart = True # 帥氣的小哥哥 is_success = True # 要到微信 if gender == 'male' and 30 > age > 20 and is_smart: print("哈嘍,小哥哥,加個微信唄") if is_success: print("那咱一塊兒散步吧……") else: print("回家擼貓!") else: print("都沒有帥氣的小哥哥,回家回家!")
關於if的習題對象
# 給定一個不超過5位的正整數,判斷其有幾位 num = input("請輸入整數:").strip() num_int = eval(num) count = 0 if num_int > 100: if num_int > 10000: count = 5 elif num_int > 1000: count = 4 else: count = 3 else: if num_int > 10: count = 2 else: count = 1 print(f"您輸入的是{count}位數")
while:條件判斷,當符合條件,重複執行操做。注意條件的編寫,防止陷於死循環索引
語法結構(2種)ip
# 第一種 while while 條件表達式: 需重複執行的代碼塊 # 第二種 while + else while 條件表達式: 需重複執行的代碼塊 else: # 這個代碼塊是while中的操做正常結束後,才能夠執行的代碼。 # 若是重複操做被break中斷,此處代碼不會被操做 正常執行重複操做結束後,執行的代碼塊
while的嵌套element
""" 需求:登陸認證 一、輸入帳號、密碼,登陸成功,提示登陸成功 二、若是登陸三次,帳號密碼都不對,鎖定帳號 三、登陸成功後,能夠進行命令操做 四、登陸成功後,輸入exit時,退出 """ user_name = "dawn" # 存儲的用戶名 password = "1234" # 存儲的密碼 count = 0 # 登陸失敗的計數器 tag = True # 執行重複登陸操做的條件 while tag: name_inp = input("Please input your name>>>:") pwd_inp = input("Please input your password>>>:") if user_name == name_inp and password == pwd_inp: print("登陸成功") while tag: # 登陸成功後,若是用戶輸入 exit 命令,退出操做,不然一直執行命令 cmd = input(">>>:") if cmd == "exit": tag = False else: print(f"執行{cmd}命令") else: print("登陸失敗") count += 1 # 登陸失敗,計數器次數增長一次 if count == 3: # 每次登陸後,判斷登陸失敗的次數是否等於3次,若是是,鎖定帳號,中止操做 print("鎖定帳戶") tag = False
關於while的習題字符串
# 習題:任意輸入一個不超過5位的正整數,依次輸出個位、十位、百位、千位、萬位的數字。思考:若是是依次輸出萬位、千位、百位、十位、個位的數字呢? num = input("請輸入整數:").strip() num_int = eval(num) count = 0 print(num_int) while True: print(num_int % 10) num_int = num_int // 10 count += 1 if num_int == 0: break print(f"你輸入的位數是:{count}")
for:從一個可迭代的集合或對象中依次取出當中的元素,每取一個元素,執行一次操做,直到將集合或對象中的元素取完。(每次執行的操做是同樣的,可跟元素無關,也可跟元素有關)。input
for是一種不依賴於索引的取值方式。cmd
語法結構(2種)
# 第一種 for 元素 in 可迭代的集合或者對象:需執行的操做 for element in iteration: 須要執行的代碼塊 # 第二種 for + else for element in iteration: 須要執行的代碼塊 else: # 若是在取元素的過程當中,被break中斷,此處的代碼不會被執行 正常將集合或對象中的元素取完後,執行的代碼塊
for的嵌套
# 打印九九乘法表 for i in range(1, 10): for j in range(1, i + 1): print(f"{j}*{i}={i*j}", end="\t") print() for i in range(9, 0, -1): for j in range(1,i+1): print(f"{j}*{i}={j*i}", end="\t") print()
關於for的習題
"""一、請實現如下圖形的打印 * *** ***** ******* ********* """ for i in range(1,6): for j in range(5 - i): print(" ", end="") for z in range(2*i-1): print("*",end="") print() line_str = input("請輸入打印的行數:") line = int(line_str) for i in range(1, line+1): print(" " * (line - i),end="") print("*" * (i * 2 - 1))
continue:跳過當前循環,繼續下一次循環
# 請依次輸出1,2,3,5,6,7(4不輸出) count = 0 while count < 7: count += 1 if count == 4: continue print(count)
break:結束/中斷本層循環
# 依次輸出1,2,3,遇到4就再也不輸出 count = 0 while count < 10: count += 1 if count == 4: break
——內置方法(len和range)
len():獲取長度
range():獲取一個可迭代的集合
在 python 2中,使用 range() 返回的是一個列表
在python 3中,使用 range() 返回的是一個可迭代的集合
使用方式有兩種:
range(stop)
for i in range(4): print(i) # 結果爲:0,1,2,3
根據結果能夠看出range()默認是從0開始的,不包含4自己,典型的顧頭不顧尾
range(start,stop[,step])
for i in range(1,8,2) print(i) # 結果爲:1,3,5,7
根據結果能夠知曉,start 表示取數的起始值,stop 表示終止值,step 表示步長,能夠理解爲每次取數時的累加值。其中[step]表示這個參數是選填,能夠不使用,默認步長是1。