while循環

while 循環

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……break語法

break表示終止本層循環,其餘層的循環不受干擾

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循環裏還有while循環input

上面的小遊戲好很差玩,能夠玩無數次,直至猜對爲止,但這樣沒啥意義,玩遊戲就要有刺激性、期待性,咱們能夠再增長條件it

  1. 只有三次機會能夠玩;
  2. 若是猜對了,就會有獎品,且猜的次數越少,獎品越多
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】

while+continue

continue表示跳過本次循環,接下來繼續執行本層循環

下面咱們寫一個從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……else

定義:若是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語句
相關文章
相關標籤/搜索