Python_note_005(Python中的迴圈結構,內建函式range()、while迴圈語句、for迴圈語句、巢狀迴圈、列印99乘法表)
阿新 • • 發佈:2020-09-08
內建函式range()
-
用於生成一個整數序列
-
三種建立方式
# range()的三種建立方式 r1=range(2,10,2)#起始值,終止值,步長 r2=range(5,20)#起始值,終止值 r3=range(5)#起始值 print('三種建立方式結果:+++'+'\n',list(r1),'\n',list(r2),'\n',list(r3)) print(8 in r1)
-
返回值是一個迭代器物件
-
range型別的特點
不管range物件表示的整數序列有多長,所有range物件佔用的記憶體空間都是相同的,因為僅僅需要儲存start,stop和step,只有當用到range物件時,才會計算序列中的相關元素
-
in和not in可以判斷整數序列中是否存在或不存在指定的整數
迴圈結構分類為(while,for in)
-
while迴圈
# 迴圈結構 ''' 4步迴圈法 1.初始化變數 2.條件判斷 3.條件執行體 4.改變變數 總結:初始化的變數與條件判斷的變數與改變的變數為同一個 ''' n=1 sum=0 while n<=10: sum+=n n+=1 print(sum) # 練習題 計算1到1w00之間的偶數 a=1 sum2=0 while a<=100: if not bool(a%2):#a%2==0 sum2 += a a+=1 print(sum2)
-
for in迴圈
# for in 迴圈 for i in '12345678': print(i) for i2 in range(2,10,2): print(i2) for _ in range(5): print('我要學python') print('for迴圈計算1到100的偶數和') sum_for=0 for item in range(0,101,2): sum_for+=item print(sum_for) # 練習題,,計算100到999之間的水仙花數 for item in range(100,1000): g=item%10 s=item//10%10 b=item//100 if g**3+s**3+b**3==item: print(item)
流程控制語句
-
break語句(跳出迴圈)
# 從鍵盤錄入密碼,最多錄入3次,如果正確就結束迴圈 print('for迴圈方式++++++++++++++++++++') a=0;#記錄輸入密碼的次數 for item in range(3): i=input('請輸入密碼') a+=1 if i=='888888': print('密碼正確') break else: if a==3: print('以輸錯超過三次,賬號已鎖定') else: print('密碼錯誤') print('while迴圈方式+++++++++++++++++++') w=0 while w<3: i2=input('請輸入密碼') if i2 =='888888': print('密碼正確') break else: if a == 3: print('以輸錯超過三次,賬號已鎖定') else: print('密碼錯誤') w+=1
-
continue語句(跳出當前,從頭執行)
# 要求輸出1到50之間所有5的倍數,5,10,15等 for item in range(1,51): if item % 5 ==0: print(item) print('continue語法實現方式++++++++++') for item in range(1,51): if item %5!=0: continue print(item)
else語句
-
while 或者 for和else一起用時,如果沒有break時就執行else中的語句
print('for else迴圈方式++++++++++++++++++++') for item in range(3): i=input('請輸入密碼') if i=='888888': print('密碼正確') break else: print('密碼錯誤') else: print('以輸錯超過三次,賬號已鎖定') print('while else迴圈方式+++++++++++++++++++') w=0 while w<3: i2=input('請輸入密碼') if i2 =='888888': print('密碼正確') break else: print('密碼錯誤') w+=1 else: print('以輸錯超過三次,賬號已鎖定')
巢狀迴圈
-
在迴圈裡還有個迴圈
#輸出99乘法表+++++++++++++ for i in range(1,10): for j in range(1,i+1): #print(str(j)+'*'+str(i)+'='+str(i*j),end='\t') print(j,'*',i,'=',j*i, end='\t') print()
二重迴圈中的break和continue
-
用於控制本層的迴圈
# 二重迴圈中的break和continue的使用 for i in range(1,6): for j in range(1,20): if j%2==0: #break continue print(j,end='\t') print()