1. 程式人生 > >python while迴圈案例

python while迴圈案例

1.while迴圈語句基本結構?

while condition:

    loop body

 

2.利用while語句寫出猜大小的遊戲:

設定一個理想數字比如:66,讓使用者輸入數字,如果比66大,則顯示猜測的結果大了;如果比66小,則顯示猜測的結果小了;只有等於66,顯示猜測結果正確,然後退出迴圈。

while True:

    num = int(input(">>>"))

    if num < 66:

       print("小了")

    elif num > 66:

       print("大了")

    else:

       print("正確")

       break

 

 

 

<執行結果>

>>>10

小了

>>>20

小了

>>>30

小了

>>>67

大了

>>>66

3.在2題的基礎上進行升級:

給使用者三次猜測機會,如果三次之內猜測對了,則顯示猜測正確,退出迴圈,如果三次之內沒有猜測正確,則自動退出迴圈,並顯示‘太笨了你....’。

tag = 0

while True:

    num = int(input(">>>"))

    if num < 66:

        print("小了")

        tag += 1

    elif num > 66:

        print("大了")

        tag +=1

    else:

        print("正確")

        break

    if tag == 3:

        print("太笨了你")

        break

 

 

<執行結果>

>>>10

小了

>>>20

小了

>>>66

正確

 

>>>10

小了

>>>50

小了

>>>70

大了

太笨了你

 

4.使用while迴圈輸出 1 2 3 4 5 6 8 9 10

while True:

    num = 0

    while True:

        num += 1

        if num == 7:

            continue

        elif num < 11:

            print(num)

        else:

            break

 

 

<執行結果>

1

2

3

4

5

6

8

9

10

1

5.求1-100的所有數的和

sum = 0

num = 1

while True:

    sum += num

    num += 1

    if num == 101:

        break

print('1-100的所有數的和是:%s'%sum)

 

 

<執行結果>

1-100的所有數的和是:5050

 

 

6.輸出 1-100 內的所有奇數

num = 0

while True:

    num += 1

    if num != 100:

        if num % 2 == 0:

            continue

        else:

            print(num)

    else:

        break

 

 

<執行結果>

1

3

5

7

7.輸出 1-100 內的所有偶數

num = 0

while True:

    num += 1

    if num != 100:

        if num % 2 != 0:

            continue

        else:

            print(num)

    else:

        print(100)

        break

 

 

<執行結果>

2

4

6

8

 

 

 

8.求1-2+3-4+5 ... 99的所有數的和

num = 0

sum = 0

while True:

    num += 1

    if num != 100:

        if num % 2 == 0:

            sum -= num

        else:

            sum += num

    else:

        print("1-2+3-4+5 ... 99的所有數的和:%s"%sum)

        break

 

 

<執行結果>

 

1-2+3-4+5 ... 99的所有數的和:50

9.⽤戶登陸(三次輸錯機會)且每次輸錯誤時顯示剩餘錯誤次數(提示:使⽤字串格式化)

username="孫亞偉"

password="20181228"

cnt = 2

while True:

    Name = input("name?")

    Pass = input("password?")

    if Name == username and Pass == password:

        print("Welcome!")

        break

    elif cnt == 0:

        print("嘗試錯誤次數過多")

        break

    else:

        print("錯誤剩餘次數是:%s"%(cnt))

        cnt -=1  

 

<執行結果>

name?張三

password?123

錯誤剩餘次數是:2

name?李四

password?123

錯誤剩餘次數是:1

name?王五

password?123

嘗試錯誤次數過多

---------------------------------------------------------------------

name?孫亞偉

password?123

錯誤剩餘次數是:2

name?孫亞偉

password?20181228

Welcome!