1. 程式人生 > >python——while迴圈

python——while迴圈

                                                     while迴圈

1. 一個while語句會一遍又一遍的重複一段程式碼,只要某些條件是正確的。下面是舉一些例子:

eg1 : 求1+ 2+ 3+……+100的和:

sum = 0 
i = 1
while i <= 100 :
    sum += i 
    i += 1
print(sum)

只要i <= 100 這個條件一直成立,程式就會一遍一遍執行,直到條件不成立。

2. while迴圈應該應用更多樣,因為它可以進行判斷,同樣它的使用也會複雜點!

eg2 :

i = 1
while i <= 3:
    username = input('請輸入使用者名稱:')
    userpasswd = input('請輸入密碼:')
    if username == 'root' and userpasswd == 'westos':
        print('登陸成功!')
        break
    else:
        print('登陸失敗!')
        print('您已經登陸%d次,還有%d次機會!' %(i,3-i))
    i += 1
else:
    print('三次機會已經使用完,請100s後重試!')

3. while死迴圈:

語法結構如下:

     while True:
           迴圈執行的動作

while死迴圈一般用於某些重複次數不確定的、且變動幅度較大的場景。

eg :

 

4.while巢狀:

我們通過幾個例子來體會while的巢狀:

(1) while中巢狀for迴圈 實現 正著 和 倒著列印三角*形狀:

row = 1
column = 1
while  row <= 5:
    for column in range(1,column+1):
        print('*',end='')
    print(' ')
    column += 1
    row += 1

執行結果:

row = 1
column = 5
while  row <= 5:
    for column in range(1,column+1):
        print('*',end='')
    print(' ')
    column -= 1
    row += 1

執行結果:

(2)while中巢狀while迴圈 實現 正著 和 倒著列印三角*形狀

row = 1
column = 1
i = 1
while row <= 5:
    while i <= column:
        print('*',end='')
        i += 1
    print('')
    i = 1
    column += 1
    row += 1

執行結果:

row = 1
column = 5
i = 1
while row <= 5:
    while i <= column:
        print('*',end='')
        i += 1
    print('')
    i = 1
    column -= 1
    row += 1

執行結果:

(3) 附加題:

line = 5
for i in range(line):
    j = 0
    while j < i :
        print(' ',end='')
        j += 1
    j = 0
    k = 0
    while k < line:
        print('*',end='')
        k += 1
    k = 0
    print(' ')
    line -= 1

執行結果:

line = 5
for i in range(1,line+1):
    j = 1
    while j < line:
        print(' ', end='')
        j += 1
    k = 0
    while k < i:
        print('*', end='')
        k += 1
    print(' ')
    line -= 1

執行結果:

(4)用程式實現打印出九九乘法表:

方法一:

row = 1
while row <= 9:
    column = 1
    while column <= row :
        print ('%d*%d=%d  ' %(row,column,row*column),end='')
        column += 1
    print(' ')
    row += 1

方法二:

row = 1
column = 1
while row <= 9:
    i = 1
    while i <= column:
        print('%d*%d=%d\t' %(row,i,row*i),end='')
        i += 1
    print('')
    column += 1
    row += 1

5. 幾個特殊字元:

\t: 在控制檯輸出值表符,協助我們在輸出文字時,在垂直方向保持對齊

\n: 在控制檯輸出換行符

\: 轉譯字元