python基礎語法–循環(huán)語句的使用1 for…in…循環(huán) 1.1 空房間 1.2 range()函數(shù) 2 while 循環(huán)語句 2.1 放行條件 2.2 兩種循環(huán)對比 - [ 練習作業(yè)] (題1) 選擇性打印數(shù)字 (題 2) 換座位 3 用數(shù)據做判斷 3.1 布爾運算:用數(shù)據做邏輯判斷 3.2 布爾值:True (真)和False(假) 4 四個新語句 4.1 break 語句 4.2 continue 語句 4.3 pass 語句 4.4 else 語句 - [ 練習作業(yè)] (題1) 囚徒困境 (題 2) 囚徒困境(2) (題 3) 查字典
循環(huán)語句使得計算機能夠重復性地、自動地執(zhí)行指令
1 for…in…循環(huán)語句#代碼
list=[1,2,3,4,5,6]for i in range(6):
print(list[i])#顯示1234561234567891011 #代碼
#列表取元素for i in [1,2,3,4,5,6]:
print(i)#列表取鍵值
dict = {'日本':'東京','英國':'倫敦','法國':'巴黎'}for i in dict:
print(i)#字符串取每個字符(整數(shù)、浮點數(shù)都是字符串)for i in '吳承恩':
print(i)a = '100'b = '0.01'for i in a:
print(i)for i in b:
print(i)#顯示123456日本
英國
法國
吳
承
恩1000.0112345678910111213141516171819202122232425262728293031323334353637383940414243 #代碼
#固定代碼重復:for i in range(3):
print('我很棒')for i in range(8):
print('書桓走的第'+str(i)+'天,想他')# 取數(shù)間隔:for i in range(0,10,3):
print(i)
# 用for循環(huán)完成1-100分別乘以5的計算for i in range(1,10):
print(i*5)#顯示
我很棒
我很棒
我很棒
書桓走的第0天,想他
書桓走的第1天,想他
書桓走的第2天,想他
書桓走的第3天,想他
書桓走的第4天,想他
書桓走的第5天,想他
書桓走的第6天,想他
書桓走的第7天,想他036951015202530354045123456789101112131415161718192021222324252627282930313233343536373839 2 while 循環(huán)#代碼
a = 0 #先定義變量a,并賦值while a < 5: #設定一個放行條件:a要小于5,才能辦事
a = a + 1 # 滿足條件時,就辦事:將a+1
print(a) # 繼續(xù)辦事:將a+1的結果打印出來
#顯示123451234567891011 #代碼:輸入密碼驗證:
password = '' # 變量password用來保存輸入的密碼while password!='816':
password=input('嘗試輸入密碼:')print('歡迎回家!')#顯示
嘗試輸入密碼:123嘗試輸入密碼:222嘗試輸入密碼:22嘗試輸入密碼:556嘗試輸入密碼:81嘗試輸入密碼:816歡迎回家!12345678910111213 for…in…與while…循環(huán)對比:#代碼print('用for..in..循環(huán)把詩句打印3遍')for i in range(1,4) :
print('明日復明日,明日何其多。')print('用while...循環(huán)把詩句打印3遍')j = 1while j<4 :
print('明日何其多,明日何其多。')
j =j+1#顯示
用for..in..循環(huán)把詩句打印3遍
明日復明日,明日何其多。
明日復明日,明日何其多。
明日復明日,明日何其多。
用while...循環(huán)把詩句打印3遍
明日何其多,明日何其多。
明日何其多,明日何其多。
明日何其多,明日何其多。12345678910111213141516171819 【練習題】1 循環(huán)打印分析: for …in…;while… 都可
#代碼print('# while 循環(huán)')n = 0while n < 7:
n = n+1
if n != 4: # 當num != 4,執(zhí)行打印語句;等于4時不打印。 print(n)print('# for 循環(huán)')for num in range(1,8): # 為同時能運行兩個循環(huán),新取參數(shù) num。 if num != 4: # 當num != 4,執(zhí)行打印語句;等于4時不打印。 print(num)12345678910111213 #輸出顯示:
# while 循環(huán)123567# for 循環(huán)12356712345678910111213141516 3 用數(shù)據做判斷while循環(huán)要執(zhí)行,while后的條件必須為“真”!! ①while 條件判斷: 先判斷,若條件為真,順利執(zhí)行直到條件更為假;若條件恒為假不執(zhí)行,恒為真一直執(zhí)行。 ②while False:不執(zhí)行;while True: 一直執(zhí)行 san 4 四個新語句# break語句搭配for循環(huán)for...in...:
...
if ...:
break
#break語句搭配while循環(huán)while...(條件):
...
if ...:
break1234567891011 if前縮進4空格,break前縮進8空格 #例子:while True:
print('上供一對童男童女')
t = input('孫悟空來了么?')
if t == '來了':
breakprint('齊天大圣來也,制服了鯉魚精,陳家莊再也不用上供童男童女了')1234567 #輸出顯示:
上供一對童男童女
孫悟空來了么?k
上供一對童男童女
孫悟空來了么?來了
齊天大圣來也,制服了鯉魚精,陳家莊再也不用上供童男童女了1234567 # continue語句搭配for循環(huán)for...in...:
...
if ...:
continue
...#continue語句搭配while循環(huán)while...(條件):
...
if ...:
continue
...123456789101112 print('夢姑西夏選駙馬的故事:只有連續(xù)答對三個問題,才能判定他就是西夏公主的意中人;否則,只要有任何一題錯,都要換人從頭開始回答問題。')while True:
q1 = input('第一問:你一生之中,在什么地方最是快樂逍遙?')
if q1!='黑暗的冰窖':
continue #直接回到while
print('答對第一問,下面是第二問:')
q2 = input('第二問:你生平最愛之人,叫什么名字?')
if q2!='夢姑':
continue #直接回到while
print('答對第二問,還有最后一問:')
q3 = input('第三問:你最愛的這個人相貌如何?')
if q3 == '未看清楚':
breakprint('都答對了,你是虛竹,正是我要挑選的駙馬。')1234567891011121314 #輸出顯示:
夢姑西夏選駙馬的故事:只有連續(xù)答對三個問題,才能判定他就是西夏公主的意中人;否則,只要有任何一題錯,都要換人從頭開始回答問題。
第一問:你一生之中,在什么地方最是快樂逍遙?家里
第一問:你一生之中,在什么地方最是快樂逍遙?黑暗的冰窖
答對第一問,下面是第二問:第二問:你生平最愛之人,叫什么名字?莫莫
第一問:你一生之中,在什么地方最是快樂逍遙?黑暗的冰窖
答對第一問,下面是第二問:第二問:你生平最愛之人,叫什么名字?夢姑
答對第二問,還有最后一問:第三問:你最愛的這個人相貌如何?美麗動人
第一問:你一生之中,在什么地方最是快樂逍遙?黑暗的冰窖
答對第一問,下面是第二問:第二問:你生平最愛之人,叫什么名字?夢姑
答對第二問,還有最后一問:第三問:你最愛的這個人相貌如何?未看清楚
都答對了,你是虛竹,正是我要挑選的駙馬。123456789101112131415161718 a = int(input('請輸入一個整數(shù):'))if a >= 100:
passelse:
print('你輸入了一個小于100的數(shù)字')12345 #輸出顯示:
請輸入一個整數(shù):20你輸入了一個小于100的數(shù)字
Process finished with exit code 0請輸入一個整數(shù):200Process finished with exit code 012345678 for i in range(5):
a = int(input('請輸入0結束循環(huán),你有5次機會:'))
if a == 0:
print('你觸發(fā)了break語句,導致else語句不會生效。')
breakelse:
print('5次循環(huán)你都錯過了,else語句生效了。')1234567 # 把之前這段for循環(huán)的代碼改成while循環(huán),要求運行效果相同
i=0while i<5:
i=i+1
a = int(input('請輸入0結束循環(huán),你有5次機會:'))
if a == 0:
print('你觸發(fā)了break語句,導致else語句不會生效。')
breakelse:
print('5次循環(huán)你都錯過了,else語句生效了。')12345678910 #輸出顯示:
請輸入0結束循環(huán),你有5次機會:1請輸入0結束循環(huán),你有5次機會:1請輸入0結束循環(huán),你有5次機會:1請輸入0結束循環(huán),你有5次機會:2請輸入0結束循環(huán),你有5次機會:35次機會你都錯過了,else語句生效了。
# 把之前這段for循環(huán)的代碼改成while循環(huán),運行效果相同
請輸入0結束循環(huán),你有5次機會:1請輸入0結束循環(huán),你有5次機會:1請輸入0結束循環(huán),你有5次機會:1請輸入0結束循環(huán),你有5次機會:2請輸入0結束循環(huán),你有5次機會:35次機會你都錯過了,else語句生效了。123456789101112131415 break,continue必須與if語句連用,pass常在if下。
‘:循環(huán)游戲:猜大小游戲編程:’print('猜數(shù)字大小游戲開始:')a=24while True:
answer =int(input('你來猜我想的數(shù)字是什么?'))
if answer<a:
print('猜小了,再猜')
if answer>a:
print('猜大了,再猜')
if answer ==a:
print('恭喜你猜對了')
break123456789101112 #輸出顯示:
猜數(shù)字大小游戲開始:你來猜我想的數(shù)字是什么?1猜小了,再猜
你來猜我想的數(shù)字是什么?50猜大了,再猜
你來猜我想的數(shù)字是什么?25猜大了,再猜
你來猜我想的數(shù)字是什么?23猜小了,再猜
你來猜我想的數(shù)字是什么?24恭喜你猜對了12345678910111213 print('猜數(shù)字大小游戲開始,你來猜我想的數(shù)字是什么?')a=24for i in range(1,4):
print('這是第' + str(i) + '次猜喲!')
answer =int(input('輸入數(shù)字:'))
if answer==a:
print('恭喜你猜對了呢!')
break
elif answer>a:
print('猜大了,再猜')
elif answer<a:
print('猜小了,再猜')else:
print('你已經猜錯三次了,失敗了,正確答案是'+str(a))1234567891011121314 #輸出顯示:
猜數(shù)字大小游戲開始,你來猜我想的數(shù)字是什么?
這是第1次猜喲!
輸入數(shù)字:1猜小了,再猜
這是第2次猜喲!
輸入數(shù)字:3猜小了,再猜
這是第3次猜喲!
輸入數(shù)字:23猜小了,再猜
你已經猜錯三次了,失敗了,正確答案是2412345678910111213 【練習題】1 囚徒困境請寫個代碼:當兩人都抵賴時,打印判決,代碼結束;若為其他結果,則在打印判決后繼續(xù)循環(huán)。
|