Python入門:3.3迴圈.md
阿新 • • 發佈:2018-12-11
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')