while循環又叫條件循環code
# while循環語法結構 while 條件: code1 code2 ……
只有當條件判斷爲Ture時,纔會執行code1,code2……代碼塊遊戲
# 下面來寫一個猜年齡小遊戲 age = 27 while True: guess_age = input('>>>>請輸入你猜的年齡:') guess_age = int(guess_age) if guess_age == age: print('猜對啦!') elif guess_age > age: print('猜大了') else: print('猜小了')
>>>>請輸入你猜的年齡:23 猜小了 >>>>請輸入你猜的年齡:55 猜大了 >>>>請輸入你猜的年齡:30 猜大了 >>>>請輸入你猜的年齡:25 猜小了
以上就是一個很簡單的while循環,但你是否看到,這個循環會一直循環下去而沒法中止,那要怎樣讓它中止下來呢? 這就須要咱們接下來說到的while……break語句ci
while 條件: code1 code2 break code3 ...
age = 27 while True: guess_age = input('>>>>請輸入你猜的年齡:') guess_age = int(guess_age) if guess_age == age: print('猜對啦!') break # 這樣猜對啦就會跳出循環,不在繼續循環了 elif guess_age > age: print('猜大了') else: print('猜小了')
>>>>請輸入你猜的年齡:55 猜大了 >>>>請輸入你猜的年齡:27 猜對啦!
顧名思義,while循環嵌套就是while循環裏還有while循環input
上面的小遊戲好很差玩,能夠玩無數次,直至猜對爲止,但這樣沒啥意義,玩遊戲就要有刺激性、期待性,咱們能夠再增長條件it
print('-------------猜年齡拿獎品啦!-------------') guess_age = 27 life = 3 count = 0 award_dict = {0:'Book',1:'Fish',2:'Food',3:'Cup',4:'pencil'} while count < life: age = input('>>>>請輸入你猜的年齡:') age = int(age) if age == guess_age: time = life - count print(f'恭喜你猜對啦!!!\n你能夠從下面獎品中選擇{time}個獎品\n{award_dict}') # 接下來進行獎品選擇,又使用了一次while循環 while time: num = input('>>>>請輸入你想要的獎品編號(一次只能選擇一個):') num = int(num) print(f'恭喜你得到了獎品【{award_dict[num]}】') time -= 1 break # 跳出本層循環 elif age < guess_age: print('猜小了') else: print('猜大了') count += 1
-------------猜年齡拿獎品啦!------------- >>>>請輸入你猜的年齡:30 猜大了 >>>>請輸入你猜的年齡:27 恭喜你猜對啦!!! 你能夠從下面獎品中選擇2個獎品 {0: 'Book', 1: 'Fish', 2: 'Food', 3: 'Cup', 4: 'pencil'} >>>>請輸入你想要的獎品編號(一次只能選擇一個):2 恭喜你得到了獎品【Food】 >>>>請輸入你想要的獎品編號(一次只能選擇一個):3 恭喜你得到了獎品【Cup】
下面咱們寫一個從0+1+2+3+……+100
的計算公式class
count = 0 count_sub = 0 while count < 100: count += 1 count_sub +=count print(count_sub)
5050
若是咱們只要100之內偶數相加的值,須要怎麼操做呢?循環
count = 0 count_sub = 0 while count < 100: count += 1 if (count % 2) != 0: continue # 跳出本次循環,繼續下一個循環 count_sub +=count print(count_sub)
2550
定義:若是while循環沒有被break掉,則執行else內部代碼語法
num = 0 while num < 8: print(num) num += 1 else: print('else會在while沒有被break時纔會執行else中的代碼')
0 1 2 3 4 5 6 7 else會在while沒有被break時纔會執行else中的代碼
num = 0 while num < 8: if num == 6: break print(num) num += 1 else: print('else會在while沒有被break時纔會執行else中的代碼') print('while循環在num = 6時break掉了,因此不會執行else語句')
0 1 2 3 4 5 while循環在num = 6時break掉了,因此不會執行else語句