第十課 跳出循環(break和continue) break :退出整個循環 不執行循環下面的其餘語句 continue:忽略continue後面的全部的語句 而後會轉向執行下一次的循環 也就是會執行下面的語句的 # coding:utf-8 x = 0 while x < 12: print(x,end = ',') x +=1 # 結果Wie : 0,1,2,3,4,5,6,7,8,9,10,11, print() y = 0 while y < 12: if y == 5: break; #直接當 y == 5的時候跳出了循環了 不執行下面的語句了 print(y,end = ',') #結果Wie 0,1,2,3,4, y +=1 print() names = ["Bill", "Mike", "Mary"] for name in names: if not name.startswith("B"): #若是不已B開頭 break; print(name) print("-----------------") for name in names: if name.startswith("B"): continue; print(name) # 結果爲 Mike Mary 就是第一個Bill 是B 開頭的,知足條件,就不輸出了 continue 進行執行下一個 # 嵌套循環 print() arr1 = [1,2,3,4,5,6] arr2 = ["Perl", "Java", "Python", "CSharp"] i = 0 while i < len(arr1): for lang in arr2: if lang == "Python": #break; #結果爲輸出6次Perl Java 從Python以後的都不包含 continue; #輸出6次 Perl Java CSharp 不包含Python print(lang, end = " ") print() i += 1 —————————————————————————————————————————————————————————————————————————————— 第11課 循環中的else語句 # 循環中的else語句 # 循環中的else語句僅僅在while或for循環正常退出時執行 # 在其餘的語言都沒有,以後python有 else不光之和 if 搭配 import random # 導入隨機的模塊 x = 0 while x < 10: x += 1 if x == random.randint(1,20): # 咱們產生一個隨機數 1到20 print(x) break; if x == 10: print("循環正常結束") else: print("循環經過break退出") x = 0 while x < 10: x += 1 if x == random.randint(1,20): print(x) break; else: print("循環正常結束(沒有使用break)") numbers = [1,2,3,4,5,6] for number in numbers: if number == random.randint(1,12): print(number) break; else: print("正常退出for循環") ———————————————————————————————————————————————————————————————— 第12課 使用exec和eval函數 # 使用exec和eval函數動態執行Python代碼 # 使用exec和eval函數動態執行Python代碼 # python中的eval 和 JavaScript eval 效果同樣 ''' i = 1 exec('i = 10') exec('i *= 2') exec('print(i)') # 能夠連接上下文的 結果爲 20 print("i = " + str(i)) from random import randint // 導入產生隨機數的函數 randint print(randint(1,20)) // 產生1~20的隨機數 包括1 和 20 exec('randint = 30') # print(randint(1,20)) ''' # 寫一個相似python 控制檯的代碼 codes = "" while True: code = input(">>>") if code == "": exec(codes) codes = "" continue # 經過這個 continue 忽略後面的全部的代碼 codes += code + "\n" """ >>>i = 2 >>>j = 3 >>>print(i + j) >>>a = i + j >>>print(a) >>> 5 5 # 這就是結果 """ ------------------- eval 用來執行表達式 既然是表達式 那麼就會有返回值 exec 是用來執行語句的 語句是沒有返回值的 # 輸入控制檯 代碼 i = 20 print(eval('i == 40')) while True: code = input(">>>") if code == "exit": break; exec(code)