1. 程式人生 > >Python入門:3.3迴圈.md

Python入門:3.3迴圈.md

for迴圈

for  ever_letter in 'Hello world':
    print(ever_letter)
#for    item   in    iterable:
#關鍵字  元素  關鍵字   集合 
#      do something
#縮排 
for num in range(1,11):
#range(1,11),1-11的數,但不包括11
    print(str(num)+'+1=',num+1)

程式碼表達的是:將1-10範圍內的每個數字依次裝入變數num中,每次展示一個num+1的結果。在這個過程中,變數num迴圈賦值10次。

for和if結合使用

songslist['Holy Diver','Thunderstruck','Rebel Rebel']
song=input()
for song in songslist:
    if song=='Holy Diver':
       print(song+'-Dio')
    if song=='Thunderstruck':
       print(song+'-AC/DC')
    if song=='Rebel Rebel':
       print(song,'-David Bowie')

程式功能:將列表中的歌名依次裝入變數song中,並與if語句進行匹配。

巢狀迴圈

九九乘法表

for i in range(1,10):
    for j in range(1,10):
        print('{}X{}={}'.format(i,j,i*j))

最外層的迴圈依次將數值1-9儲存到變數i中,變數i每取一次值,內層迴圈就要依次將1-9儲存在變數j中,最後展示當前的i,j,與i*j的結果。

while迴圈

如果條件不成立

while condition:
#關鍵字  成立條件
      do something
#縮排

為了防止while一直迴圈,可以在迴圈過程中製造某種可以使迴圈停下來的條件

count=0
while True:
      print('Repeat this line ')
      count+=1
      if count==5:
         break
#給一個叫count的變數賦值為0使它計數,我們希望在迴圈次數為5的時候停止,在if下面寫入一個break的作用就是告訴程式在上面條件成立停下來

利用迴圈增加變數是常見的技巧,隨著迴圈不僅可以增加,還可以隨著迴圈減少(n-1),甚至成倍增加(n=n*3)。 另一種方法是改變使迴圈成立的條件。 為之前的登入函式新增功能:輸入密碼錯誤超出3次就禁止再次輸入密碼。

password_list=['*#*#','12345']
def accont_login2():
    tries=3
    while tries>0:
        password=input('password')
        password_correct=password==password_list[-1]
        password_reset=password==password_list[0]
        if password_correct:
           print('login success')
        elif password_reset:
           new_password=input(enter a new password:)
           password_list.append(new_password)
           print('your password has changed successfully')
           accont_login2()
        else:
           print('wrong password or invalid input')
           tries-=1;
           accont_login2()
        else:
           print('your account has been suspended')